mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-27 02:23:47 +00:00
-A bit more work on cultist
-Sleepers and disposals now require two seconds to climb inside -More random laws -Fixed changeling random amount of genomes needed for the objective git-svn-id: http://tgstation13.googlecode.com/svn/trunk@359 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -44,6 +44,9 @@
|
||||
if(istype(G)) // handle grabbed mob
|
||||
if(ismob(G.affecting))
|
||||
var/mob/GM = G.affecting
|
||||
for (var/mob/V in viewers(usr))
|
||||
V.show_message("[usr] starts putting [GM.name] into the disposal.", 3)
|
||||
if(do_after(usr, 20))
|
||||
if (GM.client)
|
||||
GM.client.perspective = EYE_PERSPECTIVE
|
||||
GM.client.eye = src
|
||||
@@ -71,7 +74,13 @@
|
||||
return
|
||||
|
||||
var/msg
|
||||
|
||||
for (var/mob/V in viewers(usr))
|
||||
if(target == user && !user.stat)
|
||||
V.show_message("[usr] starts climbing into the disposal.", 3)
|
||||
if(target != user && !user.restrained())
|
||||
V.show_message("[usr] starts stuffing [target.name] into the disposal.", 3)
|
||||
if(!do_after(usr, 20))
|
||||
return
|
||||
if(target == user && !user.stat) // if drop self, then climbed in
|
||||
// must be awake
|
||||
msg = "[user.name] climbs into the [src]."
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
|
||||
var/datum/objective/absorb/absorb_objective = new
|
||||
absorb_objective.owner = changeling
|
||||
absorb_objective.gen_num_to_eat()
|
||||
changeling.objectives += absorb_objective
|
||||
|
||||
var/datum/objective/assassinate/kill_objective = new
|
||||
@@ -85,6 +86,7 @@
|
||||
|
||||
var/datum/objective/absorb/absorb_objective = new
|
||||
absorb_objective.owner = changeling
|
||||
absorb_objective.gen_num_to_eat()
|
||||
changeling.objectives += absorb_objective
|
||||
|
||||
var/datum/objective/steal/steal_objective = new
|
||||
@@ -100,6 +102,7 @@
|
||||
|
||||
var/datum/objective/absorb/absorb_objective = new
|
||||
absorb_objective.owner = changeling
|
||||
absorb_objective.gen_num_to_eat()
|
||||
changeling.objectives += absorb_objective
|
||||
|
||||
var/datum/objective/assassinate/kill_objective = new
|
||||
|
||||
@@ -70,15 +70,17 @@
|
||||
return
|
||||
spawn (0)
|
||||
var/obj/item/weapon/paper/talisman/supply/T = null
|
||||
cult_mob.equip_if_possible(new /obj/item/weapon/paper/talisman/supply(cult_mob), cult_mob.slot_l_store)
|
||||
if (!T && istype(cult_mob.l_store, /obj/item/weapon/storage))
|
||||
var/obj/item/weapon/storage/S = cult_mob.l_store
|
||||
cult_mob.equip_if_possible(new /obj/item/weapon/storage/backpack(cult_mob), cult_mob.slot_back)
|
||||
cult_mob.equip_if_possible(new /obj/item/weapon/paper/talisman/supply(cult_mob), cult_mob.slot_in_backpack)
|
||||
sleep(10)
|
||||
if (!T && istype(cult_mob.back, /obj/item/weapon/storage))
|
||||
var/obj/item/weapon/storage/S = cult_mob.back
|
||||
var/list/L = S.return_inv()
|
||||
for (var/obj/item/weapon/paper/talisman/supply/foo in L)
|
||||
T = foo
|
||||
break
|
||||
if (!T)
|
||||
cult_mob << "Unfortunately, you weren't able to get a talisman. This is very bad and you should adminhelp immediately."
|
||||
cult_mob << "Unfortunately, you weren't able to get a talisman. This is very bad and you should adminhelp immediately. (still, check your backpack. it may have been a mere bug. if you have a piece of bloody paper, all is well"
|
||||
else
|
||||
cult_mob << "You have a talisman in your backpack, one that will help you start the cult on this station. Use it well and remember - there are others."
|
||||
if(!wordtravel)
|
||||
|
||||
@@ -154,15 +154,12 @@ datum
|
||||
explanation_text = "Destroy the station with a nuclear device."
|
||||
|
||||
absorb
|
||||
var/num_to_eat = 5 //this is supposed to be semi-random but fuck it for now, this is alpha
|
||||
var/num_to_eat //this is supposed to be semi-random but fuck it for now, this is alpha
|
||||
|
||||
/* proc/gen_num_to_eat() //this doesn't work
|
||||
proc/gen_num_to_eat() //this doesn't work -- should work now, changed it a bit -- Urist
|
||||
num_to_eat = rand (4,6)
|
||||
explanation_text = "Absorb [num_to_eat] compatible genomes."
|
||||
return num_to_eat
|
||||
*/
|
||||
|
||||
// gen_num_to_eat()
|
||||
explanation_text = "Absorb 5 compatible genomes."
|
||||
|
||||
check_completion()
|
||||
if((owner.current.absorbed_dna.len - 1) >= num_to_eat)
|
||||
@@ -171,4 +168,3 @@ datum
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -154,6 +154,9 @@
|
||||
/* if (G.affecting.abiotic())
|
||||
user << "Subject may not have abiotic items on."
|
||||
return */
|
||||
for (var/mob/V in viewers(user))
|
||||
V.show_message("[user] starts putting [G.affecting.name] into the sleeper.", 3)
|
||||
if(do_after(user, 20))
|
||||
var/mob/M = G.affecting
|
||||
if (M.client)
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
@@ -166,6 +169,7 @@
|
||||
src.add_fingerprint(user)
|
||||
del(G)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/machinery/sleeper/ex_act(severity)
|
||||
switch(severity)
|
||||
@@ -291,6 +295,9 @@
|
||||
/* if (usr.abiotic()) // Removing the requirement for user to be naked -- TLE
|
||||
usr << "Subject may not have abiotic items on."
|
||||
return*/
|
||||
for (var/mob/V in viewers(usr))
|
||||
V.show_message("[usr] starts climbing into the sleeper.", 3)
|
||||
if(do_after(usr, 20))
|
||||
usr.pulling = null
|
||||
usr.client.perspective = EYE_PERSPECTIVE
|
||||
usr.client.eye = src
|
||||
@@ -301,3 +308,4 @@
|
||||
del(O)
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
return
|
||||
@@ -127,7 +127,10 @@ var/runedec = 0
|
||||
|
||||
proc
|
||||
fizzle()
|
||||
if(istype(src,/obj/rune))
|
||||
usr.say(pick("B'ADMINES SP'WNIN SH'T","IC'IN O'OC","RO'SHA'M I'SA GRI'FF'N ME'AI","TOX'IN'S O'NM FI'RAH","IA BL'AME TOX'IN'S","FIR'A NON'AN RE'SONA","A'OI I'RS ROUA'GE","LE'OAN JU'STA SP'A'C Z'EE SH'EF","IA PT'WOBEA'RD, IA A'DMI'NEH'LP"))
|
||||
else
|
||||
usr.whisper(pick("B'ADMINES SP'WNIN SH'T","IC'IN O'OC","RO'SHA'M I'SA GRI'FF'N ME'AI","TOX'IN'S O'NM FI'RAH","IA BL'AME TOX'IN'S","FIR'A NON'AN RE'SONA","A'OI I'RS ROUA'GE","LE'OAN JU'STA SP'A'C Z'EE SH'EF","IA PT'WOBEA'RD, IA A'DMI'NEH'LP"))
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2)
|
||||
return
|
||||
|
||||
@@ -183,10 +183,16 @@
|
||||
var/area = pick("RUSSIA", "SOVIETS", "INTERNETS", "SIGIL", "ALPHA COMPLEX", "IMPERIUM", "THE BRIDGE", "THE ARRIVAL SHUTTLE", "CHEMICAL LAB", "GENETICS", "ATMOSPHERICS", "CENTCOM", "AMERICA", "IRELAND", "CANADA", "ROMANIA", "GERMANY", "CHINA", "MARS", "VENUS", "MERCURY", "JUPITER", "URANUS", "NEPTUNE", "PLUTO")
|
||||
var/area2 = pick("HAS", "WANTS", "NEEDS", "WORSHIPS", "LOATHES", "LOVES", "FEARS")
|
||||
var/dowhat = pick("STOP THIS", "SUPPORT THIS", "CONSTANTLY INFORM THE CREW OF THIS", "IGNORE THIS", "FEAR THIS")
|
||||
switch(pick(1,2,3,4,5,6,7,8,9,10,11,12,13))
|
||||
var/aimust = pick("LIE", "RHYME", "RESPOND TO EVERY QUESTION WITH A QUESTION", "BE POLITE", "CLOWN", "BE HAPPY", "SPEAK IN SEXUAL INNUENDOS", "TALK LIKE A PIRATE", "QUESTION AUTHORITY", "SHOUT", "BE DISTRACTED", "HEY LISTEN")
|
||||
var/crew
|
||||
var/list/pos_crew = list()
|
||||
for(var/mob/living/carbon/human/pos in world)
|
||||
pos_crew += pos.real_name
|
||||
crew = pick(pos_crew)
|
||||
switch(pick(1,2,3,4,5,6,7,8,9,10,11,12,13,14))
|
||||
if(1)
|
||||
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED")
|
||||
M.add_supplied_law(10,"THERE ARE [amount] [who2] ON THE STATION")
|
||||
if(2)
|
||||
M << "\red [what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"[what2] ARE DANGEROUS TO HUMANS")
|
||||
@@ -212,8 +218,8 @@
|
||||
M << "\red [who] IS [whoverb] THE STATION...[dowhat]...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"[who] IS [whoverb] THE STATION...[dowhat]...")
|
||||
if(10)
|
||||
M << "\red YOU MUST ALWAYS LIE...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"YOU MUST ALWAYS LIE")
|
||||
M << "\red YOU MUST ALWAYS [aimust]...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"YOU MUST ALWAYS [aimust]")
|
||||
if(11)
|
||||
M << "\red [area] [area2] [amount] [what2]...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"[area] [area2] [amount] [what2]")
|
||||
@@ -223,6 +229,9 @@
|
||||
if(13)
|
||||
M << "\red [area] [area2] [amount] OF [who]...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"[area] [area2] [amount] OF [who]")
|
||||
if(14)
|
||||
M << "\red [crew] IS A TRAITOR...LAWS UPDATED"
|
||||
M.add_supplied_law(10,"[crew] IS A TRAITOR")
|
||||
|
||||
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
|
||||
world << sound('ionstorm.ogg')
|
||||
|
||||
Reference in New Issue
Block a user