Coonflict fiiixeeess
This commit is contained in:
@@ -8,6 +8,13 @@
|
||||
var/mach = 0
|
||||
|
||||
/datum/station_state/proc/count()
|
||||
floor = 0
|
||||
wall = 0
|
||||
r_wall = 0
|
||||
window = 0
|
||||
door = 0
|
||||
grille = 0
|
||||
mach = 0
|
||||
for(var/Z in SSmapping.levels_by_trait(ZTRAIT_STATION))
|
||||
for(var/turf/T in block(locate(1,1,Z), locate(world.maxx,world.maxy,Z)))
|
||||
// don't count shuttles since they may have just left
|
||||
@@ -48,6 +55,10 @@
|
||||
else if(ismachinery(O))
|
||||
mach += 1
|
||||
|
||||
CHECK_TICK
|
||||
CHECK_TICK
|
||||
CHECK_TICK
|
||||
|
||||
/datum/station_state/proc/score(datum/station_state/result)
|
||||
if(!result)
|
||||
return 0
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
if(owner.current.blood_volume < BLOOD_VOLUME_BAD / 2)
|
||||
owner.current.blur_eyes(8 - 8 * (owner.current.blood_volume / BLOOD_VOLUME_BAD))
|
||||
// Nutrition
|
||||
owner.current.nutrition = clamp(owner.current.blood_volume, 545, 0) //The amount of blood is how full we are.
|
||||
owner.current.set_nutrition(min(owner.current.blood_volume, NUTRITION_LEVEL_FULL)) //The amount of blood is how full we are.
|
||||
//A bit higher regeneration based on blood volume
|
||||
if(owner.current.blood_volume < 700)
|
||||
additional_regen = 0.4
|
||||
@@ -331,7 +331,7 @@
|
||||
return
|
||||
var/mob/living/carbon/C = owner.current
|
||||
// Remove Nutrition, Give Bad Food
|
||||
C.nutrition -= food_nutrition
|
||||
C.adjust_nutrition(-food_nutrition)
|
||||
foodInGut += food_nutrition
|
||||
// Already ate some bad clams? Then we can back out, because we're already sick from it.
|
||||
if(foodInGut != food_nutrition)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
changeling.trueabsorbs++
|
||||
|
||||
if(user.nutrition < NUTRITION_LEVEL_WELL_FED)
|
||||
user.nutrition = min((user.nutrition + target.nutrition), NUTRITION_LEVEL_WELL_FED)
|
||||
user.adjust_nutrition(target.nutrition, NUTRITION_LEVEL_WELL_FED)
|
||||
|
||||
// Absorb a lizard, speak Draconic.
|
||||
user.copy_languages(target, LANGUAGE_ABSORB)
|
||||
|
||||
@@ -183,7 +183,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
|
||||
if(soulsOwned.Find(soul))
|
||||
return
|
||||
soulsOwned += soul
|
||||
owner.current.nutrition = NUTRITION_LEVEL_FULL
|
||||
owner.current.set_nutrition(NUTRITION_LEVEL_FULL)
|
||||
to_chat(owner.current, "<span class='warning'>You feel satiated as you received a new soul.</span>")
|
||||
update_hud()
|
||||
switch(SOULVALUE)
|
||||
|
||||
@@ -118,30 +118,33 @@
|
||||
|
||||
// After we remove items, at least give them what they need to live.
|
||||
target.dna.species.give_important_for_life(target)
|
||||
|
||||
// After pod is sent we start the victim narrative/heal.
|
||||
handleVictimExperience(M)
|
||||
|
||||
// This is slightly delayed because of the sleep calls above to handle the narrative.
|
||||
// We don't want to tell the station instantly.
|
||||
var/points_to_check
|
||||
if(points_to_check >= ransom)
|
||||
SSshuttle.points -= ransom
|
||||
else
|
||||
SSshuttle.points -= points_to_check
|
||||
|
||||
handleVictimExperience(M) // After pod is sent we start the victim narrative/heal.
|
||||
var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR)
|
||||
var/points_to_check = min(D.account_balance, ransom)
|
||||
D.adjust_money(min(points_to_check, ransom))
|
||||
priority_announce("One of your crew was captured by a rival organisation - we've needed to pay their ransom to bring them back. \
|
||||
As is policy we've taken a portion of the station's funds to offset the overall cost.", null, "attention", null, "Nanotrasen Asset Protection")
|
||||
|
||||
// They're off to holding - handle the return timer and give some text about what's going on.
|
||||
/datum/syndicate_contract/proc/handleVictimExperience(var/mob/living/M)
|
||||
// Ship 'em back - dead or alive, 4 minutes wait.
|
||||
// Even if they weren't the target, we're still treating them the same.
|
||||
addtimer(CALLBACK(src, .proc/returnVictim, M), (60 * 10) * 4)
|
||||
sleep(30)
|
||||
|
||||
if (M.stat != DEAD)
|
||||
M.reagents.add_reagent(/datum/reagent/medicine/regen_jelly, 20)
|
||||
// Pay contractor their portion of ransom
|
||||
if (status == CONTRACT_STATUS_COMPLETE)
|
||||
var/mob/living/carbon/human/H
|
||||
var/obj/item/card/id/C
|
||||
if(ishuman(contract.owner.current))
|
||||
H = contract.owner.current
|
||||
C = H.get_idcard(TRUE)
|
||||
|
||||
if(C && C.registered_account)
|
||||
C.registered_account.adjust_money(points_to_check * 0.35)
|
||||
|
||||
C.registered_account.bank_card_talk("We've processed the ransom, agent. Here's your cut - your balance is now \
|
||||
[C.registered_account.account_balance] cr.", TRUE)
|
||||
|
||||
/datum/syndicate_contract/proc/handleVictimExperience(var/mob/living/M) // They're off to holding - handle the return timer and give some text about what's going on.
|
||||
addtimer(CALLBACK(src, .proc/returnVictim, M), 4 MINUTES) // Ship 'em back - dead or alive... 4 minutes wait.
|
||||
if(M.stat != DEAD) //Even if they weren't the target, we're still treating them the same.
|
||||
M.reagents.add_reagent(/datum/reagent/medicine/regen_jelly, 20) // Heal them up - gets them out of crit/soft crit. -- now 100% toxinlover friendly!!
|
||||
M.flash_act()
|
||||
M.confused += 10
|
||||
M.blur_eyes(5)
|
||||
|
||||
Reference in New Issue
Block a user