Reimplements ninja and cult species rarity bonuses.

This commit is contained in:
Zuhayr
2014-09-30 12:17:33 +09:30
parent 161d21f8d0
commit a0d23b3800
4 changed files with 30 additions and 9 deletions

View File

@@ -581,7 +581,15 @@ var/list/sacrificed = list()
if(iscultist(C) && !C.stat)
cultsinrange += C
C.say("Barhah hra zar[pick("'","`")]garis!")
for(var/mob/H in victims)
var/worth = 0
if(istype(H,/mob/living/carbon/human))
var/mob/living/carbon/human/lamb = H
if(lamb.species.rarity_value > 3)
worth = 1
if (ticker.mode.name == "cult")
if(H.mind == ticker.mode:sacrifice_target)
if(cultsinrange.len >= 3)
@@ -596,8 +604,8 @@ var/list/sacrificed = list()
else
if(cultsinrange.len >= 3)
if(H.stat !=2)
if(prob(80))
usr << "\red The Geometer of Blood accepts this sacrifice."
if(prob(80) || worth)
usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice."
ticker.mode:grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
@@ -607,8 +615,8 @@ var/list/sacrificed = list()
else
H.gib()
else
if(prob(40))
usr << "\red The Geometer of blood accepts this sacrifice."
if(prob(40) || worth)
usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice."
ticker.mode:grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."

View File

@@ -637,18 +637,24 @@ datum/objective/capture
check_completion()//Basically runs through all the mobs in the area to determine how much they are worth.
var/captured_amount = 0
var/area/centcom/holding/A = locate()
for(var/mob/living/carbon/human/M in A)//Humans.
for(var/mob/living/carbon/human/M in A) // Humans (and subtypes).
var/worth = M.species.rarity_value
if(M.stat==2)//Dead folks are worth less.
captured_amount+=0.5
worth*=0.5
continue
captured_amount+=1
captured_amount += worth
for(var/mob/living/carbon/monkey/M in A)//Monkeys are almost worthless, you failure.
captured_amount+=0.1
for(var/mob/living/carbon/alien/larva/M in A)//Larva are important for research.
if(M.stat==2)
captured_amount+=0.5
continue
captured_amount+=1
if(captured_amount<target_amount)
return 0
return 1

View File

@@ -5,6 +5,7 @@
unarmed_type = /datum/unarmed_attack/claws/strong
secondary_unarmed_type = /datum/unarmed_attack/bite/strong
hud_type = /datum/hud_data/alien
rarity_value = 3
has_fine_manipulation = 0
insulated = 1
@@ -97,6 +98,7 @@
weeds_plasma_rate = 15
slowdown = 2
tail = "xenos_drone_tail"
rarity_value = 5
icobase = 'icons/mob/human_races/xenos/r_xenos_drone.dmi'
deform = 'icons/mob/human_races/xenos/r_xenos_drone.dmi'
@@ -194,6 +196,7 @@
caste_name = "queen"
slowdown = 5
tail = "xenos_queen_tail"
rarity_value = 10
icobase = 'icons/mob/human_races/xenos/r_xenos_queen.dmi'
deform = 'icons/mob/human_races/xenos/r_xenos_queen.dmi'

View File

@@ -19,8 +19,8 @@
var/datum/hud_data/hud
var/hud_type
var/slowdown = 0
var/gluttonous // Can eat some mobs. 1 for monkeys, 2 for people.
var/gluttonous // Can eat some mobs. 1 for monkeys, 2 for people.
var/rarity_value = 1 // Relative rarity/collector value for this species. Only used by ninja and cultists atm.
var/unarmed_type = /datum/unarmed_attack
var/secondary_unarmed_type = /datum/unarmed_attack/bite
@@ -277,6 +277,7 @@
language = "Vox-pidgin"
unarmed_type = /datum/unarmed_attack/claws/strong
secondary_unarmed_type = /datum/unarmed_attack/bite/strong
rarity_value = 2
speech_sounds = list('sound/voice/shriek1.ogg')
@@ -318,6 +319,7 @@
icobase = 'icons/mob/human_races/r_armalis.dmi'
deform = 'icons/mob/human_races/r_armalis.dmi'
language = "Vox-pidgin"
rarity_value = 10
warning_low_pressure = 50
hazard_low_pressure = 0
@@ -361,6 +363,7 @@
unarmed_type = /datum/unarmed_attack/diona
primitive = /mob/living/carbon/alien/diona
slowdown = 7
rarity_value = 3
has_organ = list(
"nutrient channel" = /datum/organ/internal/diona/nutrients,
@@ -416,6 +419,7 @@
deform = 'icons/mob/human_races/r_machine.dmi'
language = "Tradeband"
unarmed_type = /datum/unarmed_attack/punch
rarity_value = 2
eyes = "blank_eyes"
brute_mod = 0.5