Fix adminbus toggling genes on to cause all other genes to manifest - added genemutcheck proc and domutation proc to handle the changes.
Added a global list of gene datums that match the order of the randomized blocks in genetics to allow for easy lookup based on blocks and allows single gene checking to work.
Conflicts:
code/game/gamemodes/setupgame.dm
code/modules/admin/verbs/debug.dm
...based on distance, similar to projectiles.
Conflicts:
code/defines/obj.dm
code/game/machinery/kitchen/smartfridge.dm
code/game/machinery/vending.dm
code/game/mecha/equipment/weapons/weapons.dm
code/modules/games/cards.dm
code/modules/mob/living/carbon/carbon.dm
code/modules/mob/living/living_defense.dm
Also makes setting a thrown atom's throwing var the responsibility of
the handler, so that impact handling code can decide if the thrown atom
should keep on going.
Conflicts:
code/game/atoms.dm
code/modules/mob/living/carbon/alien/special/facehugger.dm
code/modules/mob/living/living_defense.dm
Added trim to most fields in Medical Computer
Added trim to most fields in Staff Computer
Added name verification in Staff Computer
Added trim to most fields in Security Computer
Added name verification in Security Computer
Conflicts:
code/game/machinery/computer/medical.dm
code/game/machinery/computer/security.dm
fun fact: I'm never porting say-related stuff from bay.
Conflicts:
code/game/objects/items/devices/radio/encryptionkey.dm
code/game/objects/items/devices/radio/headset.dm
code/modules/mob/living/say.dm
code/modules/mob/living/silicon/ai/ai.dm
*Reorganised and commented used procs for better visibility/maintenance
*Redid the PriorityQueue class
*Changed the euclidian distance to the byond one (so that we don't calculate float and square root when it's not necessary)
*Made the AStar algorithm use the closed list instead of just filling it
*Some optimization in the open list sorting : last entered is first in case of f ties, slightly less tiles are checked now
*Changes the order directions are checked when adding adjacents turfs to make for more 'realistic' path (read less 'drunk pathing' with lots of diagonals)
*Fixed some turfs densities not being check for diagonal movement
*Closed firedoors are now correctly seens as blocked by the algorithm
*Cleanbots now only moves in cardinal directions, like other bots.
*Updated the info text at the beginning of the file a bit
*Absolutely unrelated : simplified the turf.Bless() proc
Conflicts:
code/__HELPERS/unsorted.dm
code/defines/procs/AStar.dm
code/game/machinery/bots/bots.dm
code/game/machinery/bots/cleanbot.dm
code/game/machinery/doors/firedoor.dm
code/game/machinery/doors/windowdoor.dm
code/game/turfs/turf.dm
this commit :
ea1060ac33
added in machinery's attack_hand() proc, line 238
```
if(!allowed(user))
user << "\red Access Denied."
return 1
```
to almost all machinery including computers, since they call this proc via their attack_hand() procs.
allowed(user), see access.dm line 94, in turn only checks the user's hand and wear_id,
NOT the card inside the machine,
as different machines have different vars and systems handling how they can be accessed.
instead of fixing the underlying problem, eject card verbs were added like this one :
30385c2237
this PR reverts that nonsense machinery addition and adds the shuttle_control access check where it belongs.
Conflicts:
code/game/machinery/machinery.dm