Files
Bubberstation/code/game/gamemodes/devil/objectives.dm
lordpidey f640d7ddb7 Devil fixes (#18520)
Numerous small fixes/changes/balances to devils.

Notable changes:
It now requires more souls to increase. It is now 3,7,12 souls, up from 3,6,9.
Devils now have extra rules, no coercing into signing contracts with violence, and no intentionally physically harming another devil.
Burial garment banishment now works on true devils. <--- Unreported issue, can I use that fix for the mergetoken?
Renamed all demon files to devil
Updated religious supplies to have burial garments.
Burial garments re-added to box/meta
Increased infernal fireball cooldown
Soulsellers can now use a pitchfork without being harmed.
Added new book crate, which includes a codex gigas to cargo.
2016-06-14 15:43:33 +12:00

62 lines
1.9 KiB
Plaintext

/datum/objective/devil
dangerrating = 5
/datum/objective/devil/soulquantity
explanation_text = "You shouldn't see this text. Error:DEVIL1"
var/quantity = 4
/datum/objective/devil/soulquantity/New()
quantity = pick(6,8)
explanation_text = "Purchase, and retain control over at least [quantity] souls."
/datum/objective/devil/soulquantity/check_completion()
var/count = 0
for(var/S in owner.devilinfo.soulsOwned)
var/datum/mind/L = S
if(L.soulOwner != L)
count++
return count >= quantity
/datum/objective/devil/soulquality
explanation_text = "You shouldn't see this text. Error:DEVIL2"
var/contractType
var/quantity
/datum/objective/devil/soulquality/New()
contractType = pick(CONTRACT_POWER, CONTRACT_WEALTH, CONTRACT_PRESTIGE, CONTRACT_MAGIC, CONTRACT_REVIVE, CONTRACT_KNOWLEDGE/*, CONTRACT_UNWILLING*/)
var/contractName
quantity = pick(1,2)
switch(contractType)
if(CONTRACT_POWER)
contractName = "for power"
if(CONTRACT_WEALTH)
contractName = "for wealth"
if(CONTRACT_PRESTIGE)
contractName = "for prestige"
if(CONTRACT_MAGIC)
contractName = "for magic"
if(CONTRACT_REVIVE)
contractName = "of revival"
if(CONTRACT_KNOWLEDGE)
contractName = "for knowledge"
//if(CONTRACT_UNWILLING) //Makes round unfun.
// contractName = "against their will"
explanation_text = "Have mortals sign at least [quantity] contracts [contractName]"
/datum/objective/devil/soulquality/check_completion()
var/count = 0
for(var/S in owner.devilinfo.soulsOwned)
var/datum/mind/L = S
if(L.soulOwner != L && L.damnation_type == contractType)
count++
return count>=quantity
/datum/objective/devil/sintouch
var/quantity
/datum/objective/devil/sintouch/New()
quantity = pick(4,5)
explanation_text = "Ensure at least [quantity] mortals are sintouched."
/datum/objective/devil/sintouch/check_completion()
return quantity>=ticker.mode.sintouched.len