mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Pile of bugfixes
Nodrak: - Bags of Holding can no longer be brought to the clown planet - Made a quick new sprite for broken telescreens - Removed the clusterbang from the HoS safe. It is currently bugged and not in presentable condition, however, someone is working on it. - Added a machine check to shift+click. Partial fixes issue 534 (see Zek's stuff for more.) I'm not really sure of a better way to fix this that wouldn't involve a whole pile of coding... - Cigarettes now evenly distribute chemicals injected into a pack of cigarettes. Partial fix for issue 548 (see Zek's stuff for more.) Commit for Zekkeit/39kk9t - The gibber now provides attack logs of who the mob gibbed, or who the mob was gibbed by. How can you tell who a mob was gibbed by when the mob gets destroyed? Well read the next enhancement! - Attack logs now transfer to the ghost of the mob who dies - You can no longer survive cold by cooling yourself down before jumping into space. Fixes issue 206. - Ghost() is now a client proc, not a mob proc. Fixes issue 442 - Fix for issue 493. - Added a range check to shift+click. Fixes issue 534. - Cigarette packs are now limited to (15*number of cigarettes) units of reagents. Fixes Issue 548. - Added organ inaccuracy to guns. This means, for example, that you wont hit the mob's chest with 100% accuracy. You may end up hitting the mob's arm, or head instead. Accuracy is directly related to distance. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4022 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -485,7 +485,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
M.equip_if_possible(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M), M.slot_r_hand)
|
||||
M.equip_if_possible(new /obj/item/weapon/kitchenknife(M), M.slot_l_hand)
|
||||
M.equip_if_possible(new /obj/item/weapon/smokebomb(M), M.slot_r_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/grenade/smokebomb(M), M.slot_r_store)
|
||||
|
||||
|
||||
if ("tournament gangster") //gangster are supposed to fight each other. --rastaf0
|
||||
@@ -525,8 +525,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
bucket.reagents.add_reagent("water", 70)
|
||||
M.equip_if_possible(bucket, M.slot_l_hand)
|
||||
|
||||
M.equip_if_possible(new /obj/item/weapon/chem_grenade/cleaner(M), M.slot_r_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/chem_grenade/cleaner(M), M.slot_l_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), M.slot_r_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), M.slot_l_store)
|
||||
M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack)
|
||||
M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack)
|
||||
M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack)
|
||||
|
||||
@@ -171,7 +171,7 @@ var/global/sent_strike_team = 0
|
||||
equip_if_possible(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack)
|
||||
|
||||
equip_if_possible(new /obj/item/weapon/melee/energy/sword(src), slot_l_store)
|
||||
equip_if_possible(new /obj/item/weapon/flashbang(src), slot_r_store)
|
||||
equip_if_possible(new /obj/item/weapon/grenade/flashbang(src), slot_r_store)
|
||||
equip_if_possible(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store)
|
||||
equip_if_possible(new /obj/item/weapon/gun/projectile/mateba(src), slot_belt)
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ var/global/sent_syndicate_strike_team = 0
|
||||
equip_if_possible(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack)
|
||||
|
||||
equip_if_possible(new /obj/item/weapon/melee/energy/sword(src), slot_l_store)
|
||||
equip_if_possible(new /obj/item/weapon/empgrenade(src), slot_r_store)
|
||||
equip_if_possible(new /obj/item/weapon/grenade/empgrenade(src), slot_r_store)
|
||||
equip_if_possible(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store)
|
||||
equip_if_possible(new /obj/item/weapon/gun/projectile/silenced(src), slot_belt)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
///////////////////////////////Grenades
|
||||
//Includes changes by Mord_Sith to allow for buildable cameras
|
||||
/obj/item/weapon/chem_grenade
|
||||
/*/obj/item/weapon/chem_grenade //Commenting this out in case someone wants to revert the change or just doesn't like the move.
|
||||
name = "Grenade Casing"
|
||||
icon_state = "chemg"
|
||||
icon = 'chemical.dmi'
|
||||
@@ -176,7 +176,7 @@
|
||||
afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
|
||||
if (istype(target, /obj/item/weapon/storage)) return ..()
|
||||
if (istype(target, /obj/item/weapon/gun/grenadelauncher)) return ..()
|
||||
if (!src.state && stage == 2 && !crit_fail)
|
||||
if (!src.state && stage == 2 && !crit_fail && src.loc != target.loc)
|
||||
user << "\red You prime the grenade! 3 seconds!"
|
||||
message_admins("[key_name_admin(user)] used a chemistry grenade ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a chemistry grenade ([src.name]).")
|
||||
@@ -212,7 +212,7 @@
|
||||
|
||||
proc
|
||||
explode()
|
||||
if(reliability)
|
||||
if(prob(reliability))
|
||||
var/has_reagents = 0
|
||||
for(var/obj/item/weapon/reagent_containers/glass/G in beakers)
|
||||
if(G.reagents.total_volume) has_reagents = 1
|
||||
@@ -310,7 +310,7 @@
|
||||
|
||||
beakers += B1
|
||||
beakers += B2
|
||||
icon_state = "chemg_locked"
|
||||
icon_state = "chemg_locked"*/
|
||||
|
||||
/obj/effect/syringe_gun_dummy
|
||||
name = ""
|
||||
@@ -347,7 +347,7 @@
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
|
||||
if((istype(I, /obj/item/weapon/chem_grenade)) || (istype(I, /obj/item/weapon/flashbang)) || (istype(I, /obj/item/weapon/smokebomb)) || (istype(I, /obj/item/weapon/mustardbomb)) || (istype(I, /obj/item/weapon/empgrenade)))
|
||||
if((istype(I, /obj/item/weapon/grenade)))
|
||||
if(grenades.len < max_grenades)
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
@@ -378,112 +378,17 @@
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message(text("\red [] fired a grenade!", user), 1)
|
||||
user << "\red You fire the grenade launcher!"
|
||||
if (istype(grenades[1], /obj/item/weapon/chem_grenade))
|
||||
var/obj/item/weapon/chem_grenade/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
message_admins("[key_name_admin(user)] fired a chemistry grenade from a grenade launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a chemistry grenade ([src.name]).")
|
||||
F.state = 1
|
||||
F.icon_state = initial(icon_state)+"_armed"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.explode()
|
||||
else if (istype(grenades[1], /obj/item/weapon/flashbang))
|
||||
var/obj/item/weapon/flashbang/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.active = 1
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
else if (istype(grenades[1], /obj/item/weapon/smokebomb))
|
||||
var/obj/item/weapon/smokebomb/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
else if (istype(grenades[1], /obj/item/weapon/mustardbomb))
|
||||
var/obj/item/weapon/mustardbomb/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
else if (istype(grenades[1], /obj/item/weapon/empgrenade))
|
||||
var/obj/item/weapon/empgrenade/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.active = 1
|
||||
F.icon_state = "empar"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
if (locate (/obj/structure/table, src.loc) || locate (/obj/item/weapon/storage, src.loc))
|
||||
return
|
||||
else
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message(text("\red [] fired a grenade!", user), 1)
|
||||
user << "\red You fire the grenade launcher!"
|
||||
if (istype(grenades[1], /obj/item/weapon/chem_grenade))
|
||||
var/obj/item/weapon/chem_grenade/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
message_admins("[key_name_admin(user)] fired a chemistry grenade from a grenade launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a chemistry grenade ([src.name]).")
|
||||
F.state = 1
|
||||
F.icon_state = initial(icon_state)+"_armed"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.explode()
|
||||
else if (istype(grenades[1], /obj/item/weapon/flashbang))
|
||||
var/obj/item/weapon/flashbang/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.active = 1
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
else if (istype(grenades[1], /obj/item/weapon/smokebomb))
|
||||
var/obj/item/weapon/smokebomb/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
else if (istype(grenades[1], /obj/item/weapon/mustardbomb))
|
||||
var/obj/item/weapon/mustardbomb/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
else if (istype(grenades[1], /obj/item/weapon/empgrenade))
|
||||
var/obj/item/weapon/empgrenade/F = grenades[1]
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
F.active = 1
|
||||
F.icon_state = "empar"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
var/obj/item/weapon/grenade/chem_grenade/F = grenades[1] //Now with less copypasta!
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2)
|
||||
message_admins("[key_name_admin(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a grenade ([src.name]).")
|
||||
F.active = 1
|
||||
F.icon_state = initial(icon_state) + "_active"
|
||||
playsound(user.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
|
||||
|
||||
/obj/item/weapon/gun/syringe
|
||||
@@ -724,7 +629,7 @@
|
||||
/obj/structure/sink,
|
||||
/obj/item/weapon/storage,
|
||||
/obj/machinery/atmospherics/unary/cryo_cell,
|
||||
/obj/item/weapon/chem_grenade,
|
||||
/obj/item/weapon/grenade/chem_grenade,
|
||||
/obj/machinery/bot/medbot,
|
||||
/obj/machinery/computer/pandemic,
|
||||
/obj/item/weapon/secstorage/ssafe,
|
||||
|
||||
@@ -36,6 +36,7 @@ Works together with spawning an observer, noted above.
|
||||
if(client)
|
||||
client.screen.len = null//Clear the hud, just to be sure.
|
||||
var/mob/dead/observer/ghost = new(src,transfer_mind)//Transfer safety to observer spawning proc.
|
||||
ghost.attack_log |= attack_log
|
||||
if(transfer_mind)//When a body is destroyed.
|
||||
if(mind)
|
||||
mind.transfer_to(ghost)
|
||||
@@ -44,7 +45,7 @@ Works together with spawning an observer, noted above.
|
||||
else//Else just modify their key and connect them.
|
||||
ghost.key = key
|
||||
|
||||
verbs -= /mob/proc/ghost
|
||||
verbs -= /client/proc/ghost
|
||||
if (ghost.client)
|
||||
ghost.client.eye = ghost
|
||||
|
||||
@@ -59,7 +60,7 @@ Works together with spawning an observer, noted above.
|
||||
/*
|
||||
This is the proc mobs get to turn into a ghost. Forked from ghostize due to compatibility issues.
|
||||
*/
|
||||
/mob/proc/ghost()
|
||||
/client/proc/ghost()
|
||||
set category = "Ghost"
|
||||
set name = "Ghost"
|
||||
set desc = "You cannot be revived as a ghost."
|
||||
@@ -68,9 +69,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
src << "Only dead people and admins get to ghost, and admins don't use this verb to ghost while alive."
|
||||
return*/
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src)
|
||||
var/mob/dead/observer/ghost = new(mob) //Duh.
|
||||
ghost.loc = get_turf(mob) //This is to prevent ghosts from appearing at the arrival shuttle.
|
||||
ghost.attack_log |= mob.attack_log //THE LEGACY MUST LIVE ON
|
||||
ghost.key = key
|
||||
verbs -= /mob/proc/ghost
|
||||
verbs -= /client/proc/ghost
|
||||
if (ghost.client)
|
||||
ghost.client.eye = ghost
|
||||
return
|
||||
@@ -145,9 +148,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return
|
||||
if(corpse.ajourn)
|
||||
corpse.ajourn=0
|
||||
corpse.attack_log |= attack_log //copy the ghost's attack log to the corpse. THE LEGACY MUST LIVE ON
|
||||
client.mob = corpse
|
||||
if (corpse.stat==2)
|
||||
verbs += /mob/proc/ghost
|
||||
verbs += /client/proc/ghost
|
||||
del(src)
|
||||
|
||||
/mob/dead/observer/proc/dead_tele()
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
if (src.key)
|
||||
spawn(10)
|
||||
if(src.key && src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.client.verbs += /client/proc/ghost
|
||||
|
||||
tod = worldtime2text() //weasellos time of death patch
|
||||
if (mind) mind.store_memory("Time of death: [tod]", 0)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == DEAD)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
|
||||
return
|
||||
/*
|
||||
@@ -99,7 +99,7 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
if (src.client)
|
||||
spawn(10)
|
||||
if(src.client && src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.client.verbs += /client/proc/ghost
|
||||
|
||||
if(mind) // Skie - Added check that there's someone controlling the alien
|
||||
tod = worldtime2text() //weasellos time of death patch
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
|
||||
return
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (!container || !istype(container, /obj/item/device/mmi))
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -20,5 +20,5 @@
|
||||
if (key)
|
||||
spawn(50)
|
||||
if(key && stat == 2)
|
||||
ghost()
|
||||
src.client.verbs += /client/proc/ghost
|
||||
return ..(gibbed)
|
||||
@@ -75,8 +75,9 @@
|
||||
if(!environment)
|
||||
return
|
||||
var/environment_heat_capacity = environment.heat_capacity()
|
||||
if(istype(loc, /turf/space))
|
||||
environment_heat_capacity = loc:heat_capacity
|
||||
if(istype(get_turf(src), /turf/space))
|
||||
var/turf/heat_turf = get_turf(src)
|
||||
environment_heat_capacity = heat_turf.heat_capacity
|
||||
|
||||
if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10)))
|
||||
var/transfer_coefficient
|
||||
|
||||
@@ -79,9 +79,11 @@
|
||||
//This is where the suicide assemblies checks would go
|
||||
|
||||
if (client)
|
||||
//world <<"Woo, there's a client!"
|
||||
spawn(10)
|
||||
if(client && src.stat == 2)
|
||||
verbs += /mob/proc/ghost
|
||||
//world <<"You're sooooooo dead, let's ghost!"
|
||||
client.verbs += /client/proc/ghost
|
||||
|
||||
tod = worldtime2text() //weasellos time of death patch
|
||||
if(mind)
|
||||
|
||||
@@ -420,9 +420,10 @@
|
||||
return
|
||||
var/environment_heat_capacity = environment.heat_capacity()
|
||||
var/loc_temp = T0C
|
||||
if(istype(loc, /turf/space))
|
||||
environment_heat_capacity = loc:heat_capacity
|
||||
loc_temp = 2.7
|
||||
if(istype(get_turf(src), /turf/space))
|
||||
var/turf/heat_turf = get_turf(src)
|
||||
environment_heat_capacity = heat_turf.heat_capacity
|
||||
loc_temp = heat_turf.temperature
|
||||
else if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
|
||||
loc_temp = loc:air_contents.temperature
|
||||
else
|
||||
@@ -430,7 +431,7 @@
|
||||
|
||||
var/thermal_protection = get_thermal_protection()
|
||||
|
||||
//world << "Loc temp: [loc_temp] - Body temp: [bodytemperature] - Fireloss: [getFireLoss()] - Thermal protection: [get_thermal_protection()] - Fire protection: [thermal_protection + add_fire_protection(loc_temp)]"
|
||||
//world << "Loc temp: [loc_temp] - Body temp: [bodytemperature] - Fireloss: [getFireLoss()] - Thermal protection: [get_thermal_protection()] - Fire protection: [thermal_protection + add_fire_protection(loc_temp)] - Heat capacity: [environment_heat_capacity] - Location: [loc] - src: [src]"
|
||||
|
||||
if(stat != 2 && abs(bodytemperature - 310.15) < 50)
|
||||
bodytemperature += adjust_body_temperature(bodytemperature, 310.15, thermal_protection)
|
||||
@@ -591,7 +592,7 @@
|
||||
proc/handle_temperature_damage(body_part, exposed_temperature, exposed_intensity)
|
||||
if(nodamage)
|
||||
return
|
||||
|
||||
//world <<"body_part = [body_part], exposed_temperature = [exposed_temperature], exposed_intensity = [exposed_intensity]"
|
||||
var/discomfort = min(abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
|
||||
|
||||
if(exposed_temperature > bodytemperature)
|
||||
@@ -601,6 +602,7 @@
|
||||
discomfort *= 3 //I don't like magic numbers. I'll make mutantraces a datum with vars sometime later. -- Urist
|
||||
else
|
||||
discomfort *= 1.5 //Dangercon 2011 - Upping damage by use of magic numbers - Errorage
|
||||
//world <<"[discomfort]"
|
||||
|
||||
switch(body_part)
|
||||
if(HEAD)
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == DEAD)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
|
||||
return
|
||||
|
||||
@@ -37,6 +37,6 @@
|
||||
if (src.key)
|
||||
spawn(50)
|
||||
if(src.key && src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.client.verbs += /client/proc/ghost
|
||||
|
||||
return ..(gibbed)
|
||||
@@ -318,9 +318,10 @@
|
||||
|
||||
//var/environment_heat_capacity = environment.heat_capacity()
|
||||
var/loc_temp = T0C
|
||||
if(istype(loc, /turf/space))
|
||||
if(istype(get_turf(src), /turf/space))
|
||||
//environment_heat_capacity = loc:heat_capacity
|
||||
loc_temp = 2.7
|
||||
var/turf/heat_turf = get_turf(src)
|
||||
loc_temp = heat_turf.temperature
|
||||
else if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
|
||||
loc_temp = loc:air_contents.temperature
|
||||
else
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == DEAD)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
|
||||
return
|
||||
|
||||
@@ -67,6 +67,6 @@
|
||||
if (src.key)
|
||||
spawn(50)
|
||||
if(src.key && src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.client.verbs += /client/proc/ghost
|
||||
|
||||
return ..(gibbed)
|
||||
@@ -330,8 +330,9 @@
|
||||
if(!environment)
|
||||
return
|
||||
var/environment_heat_capacity = environment.heat_capacity()
|
||||
if(istype(loc, /turf/space))
|
||||
environment_heat_capacity = loc:heat_capacity
|
||||
if(istype(get_turf(src), /turf/space))
|
||||
var/turf/heat_turf = get_turf(src)
|
||||
environment_heat_capacity = heat_turf.heat_capacity
|
||||
|
||||
if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10)))
|
||||
var/transfer_coefficient
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == DEAD)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
return
|
||||
|
||||
@@ -53,5 +53,5 @@
|
||||
if (key)
|
||||
spawn(50)
|
||||
if(key && stat == 2)
|
||||
verbs += /mob/proc/ghost
|
||||
client.verbs += /client/proc/ghost
|
||||
return ..(gibbed)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
else
|
||||
for(var/obj/machinery/ai_status_display/O in world) //change status
|
||||
spawn(0)
|
||||
|
||||
@@ -8,5 +8,5 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
return
|
||||
@@ -72,5 +72,5 @@
|
||||
if (src.key)
|
||||
spawn(50)
|
||||
if(src.key && src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
return ..(gibbed)
|
||||
@@ -7,7 +7,7 @@
|
||||
src.client.eye = src.loc
|
||||
src.client.perspective = EYE_PERSPECTIVE
|
||||
if (src.stat == 2)
|
||||
src.verbs += /mob/proc/ghost
|
||||
src.verbs += /client/proc/ghost
|
||||
if(src.real_name == "Cyborg")
|
||||
src.ident = rand(1, 999)
|
||||
src.real_name += " "
|
||||
|
||||
@@ -63,8 +63,12 @@
|
||||
return //cannot shoot yourself
|
||||
|
||||
if(bumped) return
|
||||
var/chance
|
||||
|
||||
var/forcedodge = 0 // force the projectile to pass
|
||||
if (loc == original) chance = 95
|
||||
else chance = 85
|
||||
def_zone = ran_zone(def_zone, chance-(sqrt(abs(starting.x**2-loc.x**2)+abs(starting.y**2-loc.y**2)))) //Lower accurancy/longer range tradeoff.
|
||||
|
||||
bumped = 1
|
||||
if(firer && istype(A, /mob))
|
||||
|
||||
Reference in New Issue
Block a user