mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-19 22:13:37 +00:00
Soul Stones can now capture Shades (which heals them) Soul Stones capturing a soul will now be imprinted with that shade, and be unable to capture new souls/other shades Added ectoplasm object/sprites. As of now it has no uses. Shades now delete on death and leave ectoplasm behind. Soulstones can be bought with the wizards spellbook (as a set of six) and from the cultist supply talisman. The Chaplain has a single soulstone in his office (mostly for testing/so it will get used often and I can get feedback) Speaking of items on the map for testing, Reactive Teleport Armour no longer spawns in the RD's office (because Urist will murder me if I have to retarded test items out at once) Removed some no longer needed code regarding soulstones from the suicide verb. Updated the changelog r2821
195 lines
5.9 KiB
Plaintext
195 lines
5.9 KiB
Plaintext
/mob/var/suiciding = 0
|
|
|
|
/mob/living/carbon/human/verb/suicide()
|
|
set hidden = 1
|
|
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (!ticker)
|
|
src << "You can't commit suicide before the game starts!"
|
|
return
|
|
|
|
var/permitted = 0
|
|
var/list/allowed = list("Syndicate","traitor","Wizard","Head Revolutionary","Cultist","Changeling")
|
|
for(var/T in allowed)
|
|
if(mind.special_role == T)
|
|
permitted = 1
|
|
break
|
|
|
|
if(!permitted)
|
|
message_admins("[ckey] has tried to suicide, but they were not permitted due to not being antagonist as human.", 1)
|
|
src << "No. Adminhelp if there is a legitimate reason."
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(alien_egg_flag)
|
|
src << "The alien inside you forces you to breathe, preventing you from suiciding."
|
|
return
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
|
|
viewers(src) << "\red <b>[src] is attempting to bite \his tongue. It looks like \he's trying to commit suicide.</b>"
|
|
adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
|
updatehealth()
|
|
|
|
/mob/living/carbon/brain/verb/suicide()
|
|
set hidden = 1
|
|
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (!ticker)
|
|
src << "You can't commit suicide before the game starts!"
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
viewers(loc) << "\red <b>[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.</b>"
|
|
spawn(50)
|
|
death(0)
|
|
suiciding = 0
|
|
|
|
/mob/living/carbon/monkey/verb/suicide()
|
|
set hidden = 1
|
|
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (!ticker)
|
|
src << "You can't commit suicide before the game starts!"
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
|
|
viewers(src) << "\red <b>[src] is attempting to bite \his tongue. It looks like \he's trying to commit suicide.</b>"
|
|
adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
|
updatehealth()
|
|
|
|
/mob/living/silicon/ai/verb/suicide()
|
|
set hidden = 1
|
|
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
viewers(src) << "\red <b>[src] is powering down. It looks like \he's trying to commit suicide.</b>"
|
|
//put em at -175
|
|
adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
|
updatehealth()
|
|
|
|
/mob/living/silicon/robot/verb/suicide()
|
|
set hidden = 1
|
|
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
viewers(src) << "\red <b>[src] is powering down. It looks like \he's trying to commit suicide.</b>"
|
|
//put em at -175
|
|
adjustOxyLoss(max(475 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
|
updatehealth()
|
|
|
|
/mob/living/silicon/pai/verb/suicide()
|
|
set category = "pAI Commands"
|
|
set desc = "Kill yourself and become a ghost (You will receive a confirmation prompt)"
|
|
set name = "pAI Suicide"
|
|
var/answer = input("REALLY kill yourself? This action can't be undone.", "Suicide", "No") in list ("Yes", "No")
|
|
if(answer == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
var/obj/item/device/paicard/card = loc
|
|
card.pai = null
|
|
var/turf/T = get_turf_or_move(card.loc)
|
|
for (var/mob/M in viewers(T))
|
|
M.show_message("\blue [src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "\blue [src] bleeps electronically.", 2)
|
|
death(0)
|
|
else
|
|
src << "Aborting suicide attempt."
|
|
|
|
/mob/living/carbon/alien/humanoid/verb/suicide()
|
|
set hidden = 1
|
|
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
viewers(src) << "\red <b>[src] is thrashing wildly! It looks like \he's trying to commit suicide.</b>"
|
|
//put em at -175
|
|
adjustOxyLoss(max(100 - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
|
updatehealth()
|
|
|
|
|
|
/mob/living/carbon/metroid/verb/suicide()
|
|
set hidden = 1
|
|
if (stat == 2)
|
|
src << "You're already dead!"
|
|
return
|
|
|
|
if (suiciding)
|
|
src << "You're already committing suicide! Be patient!"
|
|
return
|
|
|
|
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
|
|
|
|
if(confirm == "Yes")
|
|
message_admins("[ckey] has suicided.", 1)
|
|
suiciding = 1
|
|
setOxyLoss(100)
|
|
adjustBruteLoss(100 - getBruteLoss())
|
|
setToxLoss(100)
|
|
setCloneLoss(100)
|
|
|
|
updatehealth()
|