From 5a93673762b4200182ecc8a6c8f82d8dcb5993da Mon Sep 17 00:00:00 2001 From: "giacomand@gmail.com" Date: Wed, 10 Oct 2012 19:56:51 +0000 Subject: [PATCH] -Larva grow a little faster (an extra growth per life) when on weeds or when breathing in plasma. -Observer following is cancelled when there's no client. -Made facehuggers/eggs a little smarter. They won't try to go after people with masks covering their mouths (as that kills them), however when they're thrown they will still try to attach to the person. -Improved alien stats(). You'll be able to see the max plasma and larva will see the escape shuttle. -Blessing with a fire extinguisher wasn't working because of the volume check. Removed the check. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4842 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/objects/effects/aliens.dm | 4 ++++ code/modules/mob/dead/observer/observer.dm | 4 +++- code/modules/mob/living/carbon/alien/alien.dm | 18 +++++++++++--- .../living/carbon/alien/humanoid/humanoid.dm | 20 ---------------- .../mob/living/carbon/alien/larva/larva.dm | 24 ++++++------------- .../living/carbon/alien/special/facehugger.dm | 18 ++++++++++---- code/modules/reagents/Chemistry-Reagents.dm | 5 ++-- html/changelog.html | 8 +++++++ 8 files changed, 53 insertions(+), 48 deletions(-) diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index a47ef811ac1..8d33898f600 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -426,6 +426,8 @@ Alien plants should do something if theres a lot of poison healthcheck() /obj/effect/alien/egg/HasProximity(atom/movable/AM as mob|obj) + if(!CanHug(AM)) + return if(status == GROWN && iscarbon(AM) && !isalien(AM)) var/mob/living/carbon/C = AM @@ -439,6 +441,8 @@ Alien plants should do something if theres a lot of poison Burst(0) var/obj/item/clothing/mask/facehugger/child = GetFacehugger() child.loc = pos + if(!CanHug(AM)) + return if(AM && in_range(AM, pos)) child.Attach(AM) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 239b1c9bf23..ca91d5e1167 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -177,7 +177,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(istype(usr, /mob/dead/observer)) var/list/mobs = getmobs() - var/input = input("Please, select a mob!", "Follow Mob", null, null) as null|anything in mobs + var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs var/mob/target = mobs[input] if(target && target != usr) spawn(0) @@ -186,6 +186,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/turf/T = get_turf(target) if(!T) break + if(!client) + break src.loc = T pos = src.loc sleep(15) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 34d7bc12a35..58e3527d74f 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -48,9 +48,6 @@ /mob/living/carbon/alien/eyecheck() return 2 -/mob/living/carbon/alien/New() - ..() - /mob/living/carbon/alien/proc/handle_environment(var/datum/gas_mixture/environment) //If there are alien weeds on the ground then heal if needed or give some toxins @@ -146,6 +143,21 @@ /mob/living/carbon/alien/Process_Spaceslipping() return 0 // Don't slip in space. +/mob/living/carbon/alien/Stat() + + stat(null, "Intent: [a_intent]") + stat(null, "Move Mode: [m_intent]") + + ..() + + if (client.statpanel == "Status") + stat(null, "Plasma Stored: [getPlasma()]/[max_plasma]") + + if(emergency_shuttle) + if(emergency_shuttle.online && emergency_shuttle.location < 2) + var/timeleft = emergency_shuttle.timeleft() + if (timeleft) + stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") /mob/living/carbon/alien/Stun(amount) if(status_flags & CANSTUN) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 7fc966be630..96aba8fbc2b 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -60,26 +60,6 @@ tally = -1 // hunters go supersuperfast return (tally + move_delay_add + config.alien_delay) -//This needs to be fixed -/mob/living/carbon/alien/humanoid/Stat() - ..() - - statpanel("Status") - if (client && client.holder) - stat(null, "([x], [y], [z])") - - stat(null, "Intent: [a_intent]") - stat(null, "Move Mode: [m_intent]") - - if (client.statpanel == "Status") - stat(null, "Plasma Stored: [getPlasma()]") - - if(emergency_shuttle) - if(emergency_shuttle.online && emergency_shuttle.location < 2) - var/timeleft = emergency_shuttle.timeleft() - if (timeleft) - stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") - ///mob/living/carbon/alien/humanoid/bullet_act(var/obj/item/projectile/Proj) taken care of in living /mob/living/carbon/alien/humanoid/emp_act(severity) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index de9b1ab4c89..30923ab288e 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -6,6 +6,8 @@ maxHealth = 25 health = 25 + storedPlasma = 50 + max_plasma = 50 var/amount_grown = 0 var/max_grown = 200 @@ -56,24 +58,12 @@ //This needs to be fixed /mob/living/carbon/alien/larva/Stat() ..() + stat(null, "Progress: [amount_grown]/[max_grown]") - statpanel("Status") - if (client && client.holder) - stat(null, "([x], [y], [z])") - - stat(null, "Intent: [a_intent]") - stat(null, "Move Mode: [m_intent]") - - if (client.statpanel == "Status") - stat(null, "Progress: [amount_grown]/[max_grown]") - stat(null, "Plasma Stored: [getPlasma()]") - - -///mob/living/carbon/alien/larva/bullet_act(var/obj/item/projectile/Proj) taken care of in living - - -/mob/living/carbon/alien/larva/emp_act(severity) - ..() +/mob/living/carbon/alien/larva/adjustToxLoss(amount) + if(stat != DEAD) + amount_grown = min(amount_grown + 1, max_grown) + ..(amount) /mob/living/carbon/alien/larva/ex_act(severity) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 830784170cd..ca7a50414c0 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -5,8 +5,8 @@ var/const/MIN_IMPREGNATION_TIME = 100 //time it takes to impregnate someone var/const/MAX_IMPREGNATION_TIME = 150 -var/const/MIN_ACTIVE_TIME = 300 //time between being dropped and going idle -var/const/MAX_ACTIVE_TIME = 600 +var/const/MIN_ACTIVE_TIME = 200 //time between being dropped and going idle +var/const/MAX_ACTIVE_TIME = 400 /obj/item/clothing/mask/facehugger name = "alien" @@ -79,7 +79,7 @@ var/const/MAX_ACTIVE_TIME = 600 Attach(M) /obj/item/clothing/mask/facehugger/HasEntered(atom/target) - Attach(target) + HasProximity(target) return /obj/item/clothing/mask/facehugger/dropped() @@ -203,5 +203,15 @@ var/const/MAX_ACTIVE_TIME = 600 return /obj/item/clothing/mask/facehugger/HasProximity(atom/movable/AM as mob|obj) - if(istype(AM , /mob/living/)) + if(CanHug(AM)) Attach(AM) + +/proc/CanHug(var/mob/M) + if(!iscarbon(M) || isalien(M)) + return 0 + var/mob/living/carbon/C = M + if(ishuman(C)) + var/mob/living/carbon/human/H = C + if(H.head && H.head.flags & HEADCOVERSMOUTH) + return 0 + return 1 \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 259fee1af1d..f2450ebfd3a 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2709,9 +2709,8 @@ datum return reaction_turf(var/turf/simulated/T, var/volume) - if(volume >= 3) - if(!istype(T)) return - T.Bless() + if(!istype(T)) return + T.Bless() tequilla name = "Tequila" diff --git a/html/changelog.html b/html/changelog.html index 68ae98d9f54..416a2cbd05c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -48,6 +48,14 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit tho. Thanks. --> +
+

10 October 2012

+

Giacom updated:

+ +
+

8 October 2012

Giacom updated: