From b86cd6bda41e5f7576418ceb10d7a129c1f83704 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 21 Mar 2012 09:46:42 -0700 Subject: [PATCH] MAde appendicitis only happen once, jump to explosion link should work, hallucination improvement/sanchecking, increased the damage of things to pre-nerf levels. --- code/defines/obj/storage.dm | 4 +- code/defines/obj/weapon.dm | 10 +- code/game/events/Events/Appendicitis.dm | 2 + code/game/objects/explosion.dm | 2 +- .../objects/items/weapons/surgery_tools.dm | 2 +- code/modules/chemical/Chemistry-Tools.dm | 2 +- code/modules/flufftext/Hallucination.dm | 91 ++++++++++--------- code/modules/mob/living/carbon/human/life.dm | 2 +- code/modules/projectiles/guns/energy/laser.dm | 1 + code/modules/projectiles/guns/energy/stun.dm | 1 + code/modules/projectiles/guns/projectile.dm | 1 + 11 files changed, 63 insertions(+), 55 deletions(-) diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 5d11df81fb3..e5dc1ba9442 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -313,7 +313,7 @@ icon_state = "red" item_state = "toolbox_red" flags = FPRINT | TABLEPASS| CONDUCT - force = 5.0 + force = 10.0 throwforce = 10.0 throw_speed = 1 throw_range = 7 @@ -350,7 +350,7 @@ icon_state = "syndicate" item_state = "toolbox_syndi" origin_tech = "combat=1;syndicate=1" - force = 7.0 + force = 14.0 /obj/item/weapon/storage/book name = "book" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 50ea240979e..ba80e99fcdb 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -179,7 +179,7 @@ icon_state = "stunbaton" item_state = "baton" flags = FPRINT | ONBELT | TABLEPASS - force = 10 + force = 15 throwforce = 7 w_class = 3 var/charges = 10.0 @@ -585,7 +585,7 @@ icon = 'weapons.dmi' icon_state = "cane" flags = FPRINT | TABLEPASS| CONDUCT - force = 5.0 + force = 6.0 throwforce = 7.0 item_state = "browncane" w_class = 2.0 @@ -625,7 +625,7 @@ w_class = 3.0 throw_speed = 2 throw_range = 10 - force = 10.0 + force = 15.0 item_state = "fire_extinguisher" m_amt = 90 @@ -935,7 +935,7 @@ icon_state = "large" desc = "Could probably be used as ... a throwing weapon?" w_class = 1.0 - force = 5.0 + force = 7.0 throwforce = 15.0 item_state = "shard-glass" g_amt = 3750 @@ -1062,7 +1062,7 @@ item_state = "cell" origin_tech = "powerstorage=1" flags = FPRINT|TABLEPASS - force = 5.0 + force = 10.0 throwforce = 5.0 throw_speed = 3 throw_range = 5 diff --git a/code/game/events/Events/Appendicitis.dm b/code/game/events/Events/Appendicitis.dm index 0294194b4da..22e1b4432e8 100644 --- a/code/game/events/Events/Appendicitis.dm +++ b/code/game/events/Events/Appendicitis.dm @@ -6,6 +6,8 @@ var/foundAlready = 0 // don't infect someone that already has the virus for(var/datum/disease/D in H.viruses) foundAlready = 1 + if(/datum/disease/appendicitis in H.resistances) + continue if(H.stat == 2 || foundAlready) continue diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 1d8733dc184..1dda1b438f6 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -18,7 +18,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa if(M.ear_deaf <= 0 || !M.ear_deaf) if(!istype(M.loc,/turf/space)) M << 'explosionfar.ogg' if (adminlog) - message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] (Jump)") + message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] (Jump)", admin_ref = 1) log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ") tension_master.explosion() diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index dc6c7c0c05a..f254589663c 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -526,7 +526,7 @@ CIRCULAR SAW M << "\red [user] begins to cauterize the incision in your abdomen with [src]!" user << "\red You cauterize the incision in [M]'s abdomen with [src]!" M:appendix_op_stage = 6.0 - for(var/datum/disease/appendicitis in M.viruses) + for(var/datum/disease/appendicitis/appendicitis in M.viruses) appendicitis.cure() M.resistances += appendicitis return diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index 70266ea0627..694500f16ac 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -85,7 +85,7 @@ active = 1 path = 1 - else if(path != 1) + if(path != 1) if(!istype(src.loc,/turf)) user << "\red You need to put the canister on the ground to do that!" else diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 968a2b7d93b..4efa6b602b1 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -82,27 +82,28 @@ mob/living/carbon/proc/handle_hallucinations() //Flashes of danger //src << "Danger Flash" if(!halimage) - var/possible_points = list() + var/list/possible_points = list() for(var/turf/simulated/floor/F in view(src,world.view)) possible_points += F - var/turf/simulated/floor/target = pick(possible_points) + if(possible_points.len) + var/turf/simulated/floor/target = pick(possible_points) - switch(rand(1,3)) - if(1) - //src << "Space" - halimage = image('space.dmi',target,"[rand(1,25)]",TURF_LAYER) - if(2) - //src << "Fire" - halimage = image('fire.dmi',target,"1",TURF_LAYER) - if(3) - //src << "C4" - halimage = image('syndieweapons.dmi',target,"c4small_1",OBJ_LAYER+0.01) + switch(rand(1,3)) + if(1) + //src << "Space" + halimage = image('space.dmi',target,"[rand(1,25)]",TURF_LAYER) + if(2) + //src << "Fire" + halimage = image('fire.dmi',target,"1",TURF_LAYER) + if(3) + //src << "C4" + halimage = image('syndieweapons.dmi',target,"c4small_1",OBJ_LAYER+0.01) - if(client) client.images += halimage - spawn(rand(10,50)) //Only seen for a brief moment. - if(client) client.images -= halimage - halimage = null + if(client) client.images += halimage + spawn(rand(10,50)) //Only seen for a brief moment. + if(client) client.images -= halimage + halimage = null if(41 to 65) @@ -262,7 +263,7 @@ proc/check_panel(mob/M) my_target.hallucinations -= src del(src) step_away(src,my_target,2) - processing_objects.Add(src) + spawn attack_loop() proc/updateimage() @@ -284,34 +285,36 @@ proc/check_panel(mob/M) my_target << currentimage - process() - if(src.health < 0) - collapse() - return - if(get_dist(src,my_target) > 1) - src.dir = get_dir(src,my_target) - step_towards(src,my_target) - updateimage() - else - if(prob(15)) - if(weapon_name) - my_target << sound(pick('genhit1.ogg', 'genhit2.ogg', 'genhit3.ogg')) - my_target.show_message("\red [my_target] has been attacked with [weapon_name] by [src.name] ", 1) - my_target.halloss += 8 - if(prob(20)) my_target.eye_blurry += 3 - if(prob(33)) - if(!locate(/obj/effect/overlay) in my_target.loc) - fake_blood(my_target) - else - my_target << sound(pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg')) - my_target.show_message("\red [src.name] has punched [my_target]!", 1) - my_target.halloss += 4 - if(prob(33)) - if(!locate(/obj/effect/overlay) in my_target.loc) - fake_blood(my_target) + proc/attack_loop() + while(1) + sleep(rand(5,10)) + if(src.health < 0) + collapse() + continue + if(get_dist(src,my_target) > 1) + src.dir = get_dir(src,my_target) + step_towards(src,my_target) + updateimage() + else + if(prob(15)) + if(weapon_name) + my_target << sound(pick('genhit1.ogg', 'genhit2.ogg', 'genhit3.ogg')) + my_target.show_message("\red [my_target] has been attacked with [weapon_name] by [src.name] ", 1) + my_target.halloss += 8 + if(prob(20)) my_target.eye_blurry += 3 + if(prob(33)) + if(!locate(/obj/effect/overlay) in my_target.loc) + fake_blood(my_target) + else + my_target << sound(pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg')) + my_target.show_message("\red [src.name] has punched [my_target]!", 1) + my_target.halloss += 4 + if(prob(33)) + if(!locate(/obj/effect/overlay) in my_target.loc) + fake_blood(my_target) - if(prob(15)) - step_away(src,my_target,2) + if(prob(15)) + step_away(src,my_target,2) proc/collapse() collapse = 1 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 66c15cd8aeb..8ccef01b7bb 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -173,7 +173,7 @@ halloss = 0 if(hallucination > 0) - if(hallucinations.len == 0 && hallucination >= 20 && health > 0) + if(hallucination >= 20 && health > 0) if(prob(2)) //Waaay to often. fake_attack(src) //for(var/atom/a in hallucinations) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 52349e64642..ebe73507f73 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -6,6 +6,7 @@ fire_sound = 'Laser.ogg' w_class = 3.0 m_amt = 2000 + force = 7 origin_tech = "combat=3;magnets=2" projectile_type = "/obj/item/projectile/beam" diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 348f32f75a7..29c200bb8a0 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -7,6 +7,7 @@ charge_cost = 100 projectile_type = "/obj/item/projectile/energy/electrode" cell_type = "/obj/item/weapon/cell/crap" + force = 10 diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index f4e4e7a3d83..7d0912806d0 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -6,6 +6,7 @@ origin_tech = "combat=2;materials=2" w_class = 3.0 m_amt = 1000 + force = 30 //Pistol whipp'n good. (It was frigging SIXTY on pre-goon code) var ammo_type = "/obj/item/ammo_casing/a357"