Don't be mad if I wrote something wrong or stupid. This all the things (not really) I wanted to mention about the game.
While playing through Citadel v0.99.1 I've encountered several bugs which I subjectively divided by groups.
Critical (bugs, that will or can ruin playthrough):
1. Doors to maintenance sections on level 3 doesn't open when they supposed to.
2. Second part of the reactor code don't get accepted.
3. Corpse of Cyborg Diego with a keycard on level 8 can fall through a floor. (As well as corpse of any other enemy anywhere)
4. Attacks of some enemies (encountered with Cyborg Mutant and Flier Bot) can push you through a wall to out of bounds.
5. Buttons for teleporting in and out of Bianca Schuler's cell (where Isolinear Chipset is) are not working.
6. Save files after playing some time aren't working properly giving NullReferenceException while saving and loading:
NullReferenceException: Object reference not set to an instance of an object
at HealthManager.AwakeFromLoad () [0x00211] in /home/qmaster/Github/Citadel/Assets/Scripts/HealthManager.cs:689
at HealthManager.Load (UnityEngine.GameObject go, System.String[]& entries, System.Int32 index, PrefabIdentifier prefID) [0x0011b] in /home/qmaster/Github/Citadel/Assets/Scripts/HealthManager.cs:783
at SaveObject.Load (UnityEngine.GameObject go, System.String[]& entries) [0x003e2] in /home/qmaster/Github/Citadel/Assets/Scripts/SaveObject.cs:302
at Const+<LoadRoutine>d__320.MoveNext () [0x00c2e] in /home/qmaster/Github/Citadel/Assets/Scripts/Const.cs:1631
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <eea339da6b5e4d4bb255bfef95601890>:0
(Filename: /home/qmaster/Github/Citadel/Assets/Scripts/HealthManager.cs Line: 689)
Major (bugs, that make playthrough unnecessary harder or just broken things):
1. Switch to maintenance lift near neurosurgery on level 1 doesn't work when it's supposed to. (only first one)
2. Some curcuit puzzles cannot be solved without a logic probe (Some gray squares doesn't powering up when they supposed to). Specifically: puzzles from both sides of a door between bay 3 and CPU room on level 5; puzzle near bulkhead door above bay 2 and 3 on level 5; second puzzle near Eastern antenna on level 7.
3. The enemies in cyberspace always behave like its 0 Cyberspace difficulty, Ice Drill don't work, you can't pick up keycards and there are couple invisible walls that don't disappear when you clear a section. Specifically: you can't complete cyberspace on reactor and executive levels.
4. When you try to flip a switch/open a door/use charge station when it's blocked by SHODAN security level your inventory panel starts flashing after you walk away from blocked object making you unable to fire any weapon. It's also happening when you destroy opened container. Fixiable by opening any container.
5. Some parts of the levels have mismatched geometry where you have to jump or crouch to fit through. Specifially: 2 tiles in central corridor near Alpha quadrant on level 2.
6. After you deal first time any damage to Cyborg Drone he freezes for about 50 seconds then continues to behave properly.
7. When you enter level 9 dev console starts spamming error written below and NavUnit v3 is not working turning all filled tiles with white squares.
Error assigning 2D texture to 2DArray texture property '_MainTex': Dimensions must match
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.Material:SetTexture (string,UnityEngine.Texture)
UnityEngine.Material:set_mainTexture (UnityEngine.Texture)
ImageSequenceTextureArray:Think () (at /home/qmaster/Github/Citadel/Assets/Scripts/ImageSequenceTextureArray.cs:916)
ImageSequenceTextureArray:Update () (at /home/qmaster/Github/Citadel/Assets/Scripts/ImageSequenceTextureArray.cs:846)
[C:\buildslave\unity\build\Runtime/Shaders/ShaderImpl/ShaderTextureProperty.h line 42]
(Filename: /home/qmaster/Github/Citadel/Assets/Scripts/ImageSequenceTextureArray.cs Line: 916)
8. There are repulsor lifts that working painfully slow. Specifically: repulsor lift in Alpha Grove; 5 repulsor lifts on level 8: 3 near robot charging station and detention cells, 2 from shortcuts of areas you unlock later; 2 repulsor lifts at the level 6 hub near paths to Alpha and Beta quadrants.
9. Preplaced items can disapper from the level including from corpses. Specifically: Earthshaker on level R opposite the trap room; Flechette on level R near 2 Cyborg Assasins with one of them on a repulsor lift; Logic probe on level R to the left of the elevator.
10. System Analyzer, Turbo Motion Booster don't work and Evirosuit doesn't absorb any radiation where radiation damage of 127 LBP will kill you in 11 seconds from full health.
11. Magpulse, Railgun and Riotgun often apply too much "impact" to emenies making them bounce and even pushing them to out of bounds.
12. The text of current security level almost always mismatch the actual security level. And some areas stay blocked even after you remove all cameras and CPUs. Specifically: Delta Grove.
13. Plasma Rifle don't do any damage and your energy weapon often shoot while you change energy setting.
14. All explosives have a very small explosion radius with drastic damage fall off to the point where you have to place Earthshaker directly at enemy's feet to be able to kill him. And you can't set explosion timers on Nitro and Earthshaker.
15. There is no button for a small force bridge in low gravity room on reactor level and ledge grabbing is working almost only with crouch jumping.
16. There is currently a way to dupe ammo, it's related to energy weapons and how ammo stores in guns. You need to load your weapon, select energy weapon and change energy setting, then you grab (RMB) your weapon and put it into inventory how many times you like, each time duping ammo from a clip. Also when putting energy weapon into sometimes dev console write this error:
IndexOutOfRangeException: Index was outside the bounds of the array.
at EnergySlider.SetValue (System.Single val) [0x00083] in /home/qmaster/Github/Citadel/Assets/Scripts/EnergySlider.cs:29
at UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) [0x00010] in <eea339da6b5e4d4bb255bfef95601890>:0
at UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) [0x00025] in <eea339da6b5e4d4bb255bfef95601890>:0
at UnityEngine.UI.Slider.Set (System.Single input, System.Boolean sendCallback) [0x00038] in /home/qmaster/Github/Citadel/Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Slider.cs:518
at UnityEngine.UI.Slider.set_value (System.Single value) [0x00001] in /home/qmaster/Github/Citadel/Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Slider.cs:255
at EnergySlider.OnEnable () [0x00038] in /home/qmaster/Github/Citadel/Assets/Scripts/EnergySlider.cs:18
UnityEngine.GameObject:SetActive(Boolean)
Utils:Activate(GameObject) (at /home/qmaster/Github/Citadel/Assets/Scripts/Utils.cs:65)
WeaponCurrent:ShowEnergyItems() (at /home/qmaster/Github/Citadel/Assets/Scripts/WeaponCurrent.cs:249)
WeaponCurrent:UpdateWeaponViewModels() (at /home/qmaster/Github/Citadel/Assets/Scripts/WeaponCurrent.cs:369)
WeaponCurrent:Update() (at /home/qmaster/Github/Citadel/Assets/Scripts/WeaponCurrent.cs:224)
(Filename: /home/qmaster/Github/Citadel/Assets/Scripts/EnergySlider.cs Line: 29)
17. When you enter level 8 for the first time dev console write this error but I'm not sure what breaks:
IndexOutOfRangeException: Index was outside the bounds of the array.
at AIController.Walk () [0x00302] in /home/qmaster/Github/Citadel/Assets/Scripts/AIController.cs:590
at AIController.Think () [0x000cc] in /home/qmaster/Github/Citadel/Assets/Scripts/AIController.cs:406
at AIController.FixedUpdate () [0x000c7] in /home/qmaster/Github/Citadel/Assets/Scripts/AIController.cs:355
(Filename: /home/qmaster/Github/Citadel/Assets/Scripts/AIController.cs Line: 590)
18. Target Indentifier v1 and v2 works only when you deal NO DAMAGE and v3 breaks when you shoot camera, CPU, screen or corpse. Console writes first error below and then starts spamming the second one:
NullReferenceException: Object reference not set to an instance of an object
at WeaponFire.CreateTargetIDInstance (System.String message, UnityEngine.Transform parent, HealthManager hm, UnityEngine.Transform playerCapsuleTransform, System.Single linkDist, System.Boolean range, System.Boolean health, System.Boolean attitude, System.Boolean name) [0x000db] in /home/qmaster/Github/Citadel/Assets/Scripts/WeaponFire.cs:1086
at WeaponFire.HitScanFire (System.Int32 wep16Index) [0x0063b] in /home/qmaster/Github/Citadel/Assets/Scripts/WeaponFire.cs:1028
at WeaponFire.FireWeapon (System.Int32 index, System.Boolean isSilent) [0x0046c] in /home/qmaster/Github/Citadel/Assets/Scripts/WeaponFire.cs:613
at WeaponFire+<CheckUIStateAndAttack>d__106.MoveNext () [0x00322] in /home/qmaster/Github/Citadel/Assets/Scripts/WeaponFire.cs:422
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <eea339da6b5e4d4bb255bfef95601890>:0
(Filename: /home/qmaster/Github/Citadel/Assets/Scripts/WeaponFire.cs Line: 1086)
NullReferenceException: Object reference not set to an instance of an object
at TargetID.Update () [0x00086] in /home/qmaster/Github/Citadel/Assets/Scripts/TargetID.cs:70
Minor (mostly visual bugs or bugs that don't have much of impact on playthrough):
1. Sometimes audiolog made by the hacker gets disappeared when you add it to inventory.
2. Notes on Media Data Reader often don't work properly showing uncompleted quests when in fact they are. The codes from destroying CPU's are dublicating digit from level 1.
3. There is unfinished geometry near cinema on level 6.
4. There is a hole in a floor near bay 1 on level 5. It's filled when you come from other side where energy station is placed.
5. You can open door to sealed off Gamma quadrant on level 6.
6. There is hole in a wall near battery stash on level 3.
7. There is blocked off area on level 4 near "Nice Jump" ramp. And there is a hole in a wall not far from there.
8. The ending only shows 1 static image and an error appears:
IndexOutOfRangeException: Index was outside the bounds of the array.
at Const.CreditsStats () [0x0002c] in /home/qmaster/Github/Citadel/Assets/Scripts/Const.cs:1758
at CreditsScroll.OnEnable () [0x00047] in /home/qmaster/Github/Citadel/Assets/Scripts/CreditsScroll.cs:17
UnityEngine.GameObject:SetActive(Boolean)
MainMenuHandler:PlayCredits() (at /home/qmaster/Github/Citadel/Assets/Scripts/MainMenuHandler.cs:520)
GameEnd:Targetted(UseData) (at /home/qmaster/Github/Citadel/Assets/Scripts/GameEnd.cs:11)
TargetIO:Targetted(UseData) (at /home/qmaster/Github/Citadel/Assets/Scripts/TargetIO.cs:102)
Const:UseTargets(UseData, String) (at /home/qmaster/Github/Citadel/Assets/Scripts/Const.cs:1692)
HealthManager:UseDeathTargets() (at /home/qmaster/Github/Citadel/Assets/Scripts/HealthManager.cs:171)
HealthManager:Death(Boolean) (at /home/qmaster/Github/Citadel/Assets/Scripts/HealthManager.cs:437)
HealthManager:TakeDamage(DamageData) (at /home/qmaster/Github/Citadel/Assets/Scripts/HealthManager.cs:429)
ProjectileEffectImpact:OnCollisionEnter(Collision) (at /home/qmaster/Github/Citadel/Assets/Scripts/ProjectileEffectImpact.cs:57)
(Filename: /home/qmaster/Github/Citadel/Assets/Scripts/Const.cs Line: 1758)
9. Doors that has to be open/half-open appers to be closed but when you interact with them they play closing animation. It doesn't happen if you load near that door but after some time or when you reload level all doors close.
10. The model of Hopper doesn't disappear when you destroy it. And the corpses of Zero-G Mutants often keep sliding through the level.
11. You can't play minigames.
12. Armory on level R requires ENG keycard instead of SEC or rewriting access in cyberspace.
13. Wire puzzle for force bridge on level 1 has a sligthly different solution and wire puzzle to room with Interface Demodulators on level 3 is in solved state by default.
14. There are 3 Exec Bots standing on each other on level 8 in the center right after force bridge door.
15. Many weapons when you throw them at the ground sounds like flesh. Specifically: Minipistol, Magpulse, Magnum, Blaster, Ion Beam, Skorpion, Plasma Rifle, Assault Rifle.
16. Every time I load a game it forces to 1280x720 resolution no matter the setting. Fixiable by changing to another window and coming back.
17. Code for opeining panel to stop robot production on level 2 don't work.
18. When you jump with Jemp Jets enabled your fatigue instantly goes high.
19. Inventory change selected patch/grenage on the one you pick up.
20. Laser Saber cost no energy.
21. When you turn off Jump Jets it plays energy exhaustion sound.
22. The secret lift with 2 gas grenades on level 1 near a door to Alpha quadrant is going up instead of down.
Notes:
1. There were times where relatively weak weapon and ammo (Magnum with Hollow-tip) could one shot relatively strong enemy (Exec Bot). Not sure if it's a math bug but didn't notice this in the original.
2. All weapon's fire rate is much slower then in the original. It's easy noticible when firing Flechette. Also there is no weapon recoil, only spread.
3. I don't why but when shield got powered I expected to see it from a window.
4. I still prefer when Energy Shield deplete energy constantly when turned on instead what it is now.
5. Still personally think that Hardwares use too much energy. (With exception of Jump Jets)
6. I like vending machines.
7. I like wall jumping.
Of course this not all of the things but most of them. Reasons: I forgot and I didn't tried everything. So additions there will be.