suffering (aka, a bunch of fixes)
This commit is contained in:
@@ -292,7 +292,7 @@
|
||||
switch(type)
|
||||
if(1)
|
||||
host_mob.investigate_log("[src] nanite program was deleted by software error.", INVESTIGATE_NANITES)
|
||||
qdel(src) //kill switch
|
||||
self_destruct() //kill switch
|
||||
return
|
||||
if(2) //deprogram codes
|
||||
if(corruptable)
|
||||
@@ -306,7 +306,7 @@
|
||||
toggle() //enable/disable
|
||||
host_mob.investigate_log("[src] nanite program was toggled by software error.", INVESTIGATE_NANITES)
|
||||
if(4)
|
||||
if(can_trigger)
|
||||
if(error_flicking && can_trigger)
|
||||
host_mob.investigate_log("[src] nanite program was triggered by software error.", INVESTIGATE_NANITES)
|
||||
trigger()
|
||||
if(5) //Program is scrambled and does something different
|
||||
@@ -315,7 +315,7 @@
|
||||
var/datum/nanite_program/rogue = new rogue_type
|
||||
host_mob.investigate_log("[src] nanite program was converted into [rogue.name] by software error.", INVESTIGATE_NANITES)
|
||||
nanites.add_program(null, rogue, src)
|
||||
self_destruct(src)
|
||||
self_destruct()
|
||||
|
||||
/datum/nanite_program/proc/receive_signal(code, source)
|
||||
if(activation_code && code == activation_code && !activated)
|
||||
|
||||
@@ -87,8 +87,11 @@
|
||||
addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150))
|
||||
|
||||
/datum/nanite_program/explosive/proc/boom()
|
||||
dyn_explosion(get_turf(host_mob), nanites.nanite_volume / 50)
|
||||
qdel(nanites)
|
||||
var/nanite_amount = nanites.nanite_volume
|
||||
var/heavy_range = FLOOR(nanite_amount/100, 1) - 1
|
||||
var/light_range = FLOOR(nanite_amount/50, 1) - 1
|
||||
explosion(host_mob, 0, heavy_range, light_range)
|
||||
nanites.delete_nanites()
|
||||
|
||||
//TODO make it defuse if triggered again
|
||||
|
||||
|
||||
Reference in New Issue
Block a user