024a0baa49 removed the exploit protection of canisters without replacement, this commit fixes that.
without this, anybody can open/close valves and all other forms of messing with any canister from anywhere.
ALWAYS keep in mind, NanoUI will update the fancy buttons CLIENTSIDE, that does NOT protect against exploits !
the actual buttonpush can still be spoofed to the server even if NanoUI disabled/hid/greyed-out/removed the button !
Conflicts:
code/game/machinery/atmoalter/canister.dm
Also cleans up attackby while we're at it.
Conflicts:
code/game/dna/dna_modifier.dm
code/game/machinery/computer/arcade.dm
code/game/supplyshuttle.dm
code/modules/mining/mine_items.dm
code/modules/reagents/Chemistry-Machinery.dm
code/modules/research/research_shuttle.dm
code/modules/research/server.dm
- Fixes bots attacking through windows
Conflicts:
code/game/machinery/bots/ed209bot.dm
code/game/machinery/bots/medbot.dm
code/game/machinery/bots/secbot.dm
fixes two bugs in gameticker.dm :
1.) the default value for hide_mode MUST be 0, otherwise all modes even outside Secret rounds will show up as a Secret round with no possible modes. the proper way of hiding the actual mode in Secret is letting /datum/controller/gameticker/proc/setup() deal with it.
if you want to reproduce this, switch your server to any other mode before roundstart, it will still say Secret with no possible modes.
2.) if there are no /obj/effect/landmark/spacepod/random placed on the map, pick(L) triggered a runtime error because the list was emtpy. a simple len check takes care of that.
also whats with the supercautious type-checks in for loops ? nothing will change the contents of the temporary L list.
when world.dm got changed from calling the setup procs itself to using hooks,
crafting was overlooked.
why are all commits not tested beforehand in a dev branch ?