mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-21 11:06:25 +01:00
@@ -99,3 +99,13 @@
|
||||
display_name = "Cards Against The Galaxy (black deck)"
|
||||
path = /obj/item/weapon/deck/cah/black
|
||||
description = "The ever-popular Cards Against The Galaxy word game. Warning: may include traces of broken fourth wall. This is the black deck."
|
||||
|
||||
/datum/gear/cagsewhite
|
||||
display_name = "Cards Against The Galaxy: Special Edition (white deck)"
|
||||
path = /obj/item/weapon/deck/cagse
|
||||
description = "The ever-popular Cards Against The Galaxy: Special Edition word game. Warning: may include traces of broken fourth wall and obscenity. This is the white deck."
|
||||
|
||||
/datum/gear/cagseblack
|
||||
display_name = "Cards Against The Galaxy: Special Edition (black deck)"
|
||||
path = /obj/item/weapon/deck/cagse/black
|
||||
description = "The ever-popular Cards Against The Galaxy: Special Edition word game. Warning: may include traces of broken fourth wall and obscenity. This is the black deck."
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
// This is a parody of Cards Against Humanity (https://en.wikipedia.org/wiki/Cards_Against_Humanity)
|
||||
// which is licensed under CC BY-NC-SA 2.0, the full text of which can be found at the following URL:
|
||||
// https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode
|
||||
|
||||
/obj/item/weapon/deck/cagse
|
||||
name = "\improper CAG:SE deck (white)"
|
||||
desc = "The ever-popular Cards Against The Galaxy: Special Edition word game. Warning: may include traces of broken fourth wall and obscenity. This is the white deck."
|
||||
icon_state = "cag_white"
|
||||
var/blanks = 10 //5 extra blank cards than usual to make up for quantity
|
||||
|
||||
/obj/item/weapon/deck/cagse/black
|
||||
name = "\improper CAG:SE deck (black)"
|
||||
desc = "The ever-popular Cards Against The Galaxy: Special Edition word game. Warning: may include traces of broken fourth wall and obscenity. This is the black deck."
|
||||
icon_state = "cag_black"
|
||||
blanks = 0
|
||||
|
||||
/obj/item/weapon/deck/cagse/New()
|
||||
..()
|
||||
var/datum/playingcard/P
|
||||
for(var/cardtext in card_text_list)
|
||||
P = new()
|
||||
P.name = "[cardtext]"
|
||||
P.card_icon = "[icon_state]_card"
|
||||
P.back_icon = "[icon_state]_card_back"
|
||||
cards += P
|
||||
if(!blanks)
|
||||
return
|
||||
for(var/x=1 to blanks)
|
||||
P = new()
|
||||
P.name = "Blank Card"
|
||||
P.card_icon = "[icon_state]_card_back"
|
||||
P.back_icon = "[icon_state]_card_back"
|
||||
@@ -0,0 +1,71 @@
|
||||
/obj/item/weapon/deck/cagse/black/card_text_list = list(
|
||||
"Why am I itchy?",
|
||||
"Today, Security shot ____.",
|
||||
"The Chaplain this shift is worshiping _____.",
|
||||
"Cargo ordered a crate full of _____.",
|
||||
"An ERT was called due to ______.",
|
||||
"Alert! The Colony Director has armed themselves with _____.",
|
||||
"Current Laws: ________ is your master.",
|
||||
"Current Laws: ________ is the enemy.",
|
||||
"_____ vented the entirety of Cargo.",
|
||||
"Today, science found an anomaly that made people ____ and ____.",
|
||||
"There was a rap battle between ____ and ____.",
|
||||
"Caution, ______ have been detected in collision course with the station.",
|
||||
"Today's kitchen menu includes _______.",
|
||||
"What did the mercenaries want when they attacked the station?",
|
||||
"I think the Colony Director is insane. He just demanded ______ in his office.",
|
||||
"Fuckin' scientists, they just turned Misc. Research into _______ .",
|
||||
"What's my fetish?",
|
||||
"Hello, _______ here with _______",
|
||||
"No one else was at _______, they wouldn't understand the ______",
|
||||
"Why am I shivering?",
|
||||
"What is this world coming to? First, ________, now _______",
|
||||
"NanoTrasen's labor union decided to use _____ to raise employee morale.",
|
||||
"The Chemist's drug of choice is ______",
|
||||
"It is common practice for _______ to ______ on Moghes.",
|
||||
"Mercurial Colonies are _____.",
|
||||
"The Skrell are celebrating _____ today.",
|
||||
"_____ is/are why I'm afraid of the maintenance tunnels.",
|
||||
"_____ used ____ to create their newest invention, _____!",
|
||||
"Scientists are not allowed to make Gatling _____.",
|
||||
"It's not a party until the ____ arrive.",
|
||||
"No matter how many Tajaran you have, _____ is never acceptable.",
|
||||
"No, the AI's first law is NOT to serve _____.",
|
||||
"The robots are not disposal bins for your _____.",
|
||||
"You can never have too many _____ on shift.",
|
||||
|
||||
//Above are the custom cards from VOREStation, below are from CHOMPStation
|
||||
|
||||
"I had a confused boner after the Overseer showed me a video of _____.",
|
||||
"Right after being resleeved by the CMO, I was _____.",
|
||||
"R&D finally came around and developed _____.",
|
||||
"After accidentally touching the supermatter crystal, the first thing I saw in the afterlife was _____.",
|
||||
"In order to appear friendlier towards the crew, security officers started offering complimentary _____.",
|
||||
"Since nobody ever sets their suit sensors, Medbay has resorted to using _____ as encouragement.",
|
||||
"New rule at the bar: _____ is now forbidden.",
|
||||
"The bartender fired two beanbag shells into a patron after they were seen doing _____.",
|
||||
"After becoming good friends with the Head of Security, they finally let me see their _____ collection.",
|
||||
"(Pick 2) ATTENTION: The clown is now wanted for possession of _____ and _____.",
|
||||
"After being caught growing ambrosia, the botanist resorted to recreational _____ to cope.",
|
||||
"I never expected to find _____ in maintenance.",
|
||||
"Nobody was heard from again after _____ escaped from xenobiology.",
|
||||
"_____: Everyone does it.",
|
||||
"(Pick 2) In exchange for _____, the chef gave me _____.",
|
||||
"Due to an operating procedure misunderstanding, security officers have been using _____ to process their prisoners.",
|
||||
"The roboticist keeps building cyborgs to satisfy his _____ fetish, instead of building mechs.",
|
||||
"Dare dice always ends with _____.",
|
||||
"The newest rule for dare dice means that the second lowest roller has to wear nothing but _____.",
|
||||
//Official cards below here
|
||||
"(Pick 2) Before _____, all we had was_____.",
|
||||
"(Pick 2) That's right I killed _____. How, you ask? _____.",
|
||||
"What brought the orgy to a grinding halt?",
|
||||
"What don't you want to find in your Chinese food?",
|
||||
"What has been making life difficult at the nudist colony?",
|
||||
"What's that sound?",
|
||||
"What's the new fad diet?",
|
||||
"(Pick 2) Listen, son. If you want to get involved with _____, I won’t stop you. Just steer clear of _____.",
|
||||
"(Pick 2) Having problems with _____? Try _____!",
|
||||
"(Pick 2) After months of practice with _____, I think I’m finally ready for _____.",
|
||||
"Finally! A service that delivers _____ right to your door."
|
||||
|
||||
)
|
||||
@@ -0,0 +1,211 @@
|
||||
/obj/item/weapon/deck/cagse/var/list/card_text_list = list(
|
||||
"Those motherfucking carp",
|
||||
"Having sex in the maintenance tunnels",
|
||||
"Space 'Nam",
|
||||
"Space lesbians",
|
||||
"The Gardener getting SUPER high",
|
||||
"The Colony Director thinking they're a badass",
|
||||
"Being in a cult",
|
||||
"Racially biased lawsets",
|
||||
"An Unathi who WON'T STOP FIGHTING",
|
||||
"Tajaran fetishists",
|
||||
"Bald thirty-year-olds",
|
||||
"A Chief Engineer who can't setup the engine",
|
||||
"Being sucked out into space",
|
||||
"Officer Beepsky",
|
||||
"Engineering",
|
||||
"The grey tide.",
|
||||
"The Research Director",
|
||||
"Fucking synths",
|
||||
"Man-eating purple pod plants",
|
||||
"Chemical sprayers filled with lube",
|
||||
"Librarians",
|
||||
"Squids",
|
||||
"Cats",
|
||||
"Lizards",
|
||||
"Apes",
|
||||
"Trees",
|
||||
"Supermatter undergarments",
|
||||
"Bluespace",
|
||||
"Five hundred rabid spiders",
|
||||
"Five hundred rabid diona nymphs",
|
||||
"Cable ties",
|
||||
"Rampant vending machines",
|
||||
"Positronic drink coasters",
|
||||
"Kitchen utensil anomalies",
|
||||
"Locked lockers",
|
||||
"Energy spatulas",
|
||||
"Flashbang gauntlets",
|
||||
"Carp",
|
||||
"Space whales",
|
||||
"Blu-sharks",
|
||||
"Fax machines",
|
||||
"Exquisite Pens",
|
||||
"Dr. Maxman's male enhancements",
|
||||
"Gyrating slimes",
|
||||
"Forehead-mounted laser weaponry",
|
||||
"Pelvis-mounted laser weaponry",
|
||||
"Cardboard cutouts",
|
||||
"An obscene amount of rubber ducks",
|
||||
"Brain cakes",
|
||||
"A drone's game of life.",
|
||||
"Anomaly suits",
|
||||
"A gardener smoking reishi",
|
||||
"Military-grade baseball bats",
|
||||
"Barricading the bar",
|
||||
"An irritatingly chipper robot",
|
||||
"Androids hanging out in the bar drinking beer",
|
||||
"Gear harnesses",
|
||||
"A seventeen-year-old Colony Director",
|
||||
"The throbbing erection that the HoS gets at the thought of shooting something",
|
||||
"Trying to stab someone and hugging them instead",
|
||||
"Waking up naked in the maintenance tunnels",
|
||||
"Horrible cloning accidents",
|
||||
"Licking the supermatter due to a dare",
|
||||
"A Quartermaster who WON'T STOP ordering guns",
|
||||
"Teaching a synthetic the Birds and the Bees",
|
||||
"Unnecessary surgery",
|
||||
"My addiction to spiders",
|
||||
"Wetskrell.nt",
|
||||
"DOCTOR MAXMAN!",
|
||||
"A group of Skrell getting their squish on",
|
||||
"Enough soporific to put the entire station down",
|
||||
"Delicious Vietnamese cuisine",
|
||||
//Above are the custom cards from VOREStation, below are from CHOMPStation
|
||||
"Upside-down bat cock vore",
|
||||
"Wingjobs",
|
||||
"The HoP feeding someone to Ian after asking for all access",
|
||||
"Being used as fuel instead of being healed by a medihound",
|
||||
"Stealing a set of tools",
|
||||
"Spying on the dorms with hidden cameras",
|
||||
"Stealing all access",
|
||||
"Curling up in a belly for hours",
|
||||
"Being squeezed down a tight throat",
|
||||
"Being forced down the bartender's cock",
|
||||
"zip-tying the captain and dragging them into maintenance",
|
||||
"Shoving micros down any available orifice",
|
||||
"Being shoved down a K9 cyborg's gullet without consent",
|
||||
"Tripping in the halls so a medihound eats you",
|
||||
"Lying on a table until someone eats you",
|
||||
"forgetting your backup implant",
|
||||
"Leaving your suit sensors off",
|
||||
"Turning your suit sensors to tracking",
|
||||
"Giving the clown the spare ID",
|
||||
"Happily letting yourself be digested just because someone was hungry",
|
||||
"Waking up inside a pair of giant nuts",
|
||||
"A shock collar that never turns off",
|
||||
"A size gun without a limiter",
|
||||
"Cock vore",
|
||||
"A slimy tongue",
|
||||
"Being digested into spunk under the bar counter",
|
||||
"Maintenance trash pile loot",
|
||||
"voring all your friends",
|
||||
"Digesting all your friends",
|
||||
"Getting fucked from behind right in the bar",
|
||||
"Actually using a dorm room",
|
||||
"Swallowing enough cum to fill a pool",
|
||||
"Giving away the frequency for your shock collar",
|
||||
"Ten foot tall sergals",
|
||||
"Knotted dog cock",
|
||||
"Modular, synthetic, prehensile cocks",
|
||||
"Tail maws",
|
||||
"Pants pockets",
|
||||
"Not wearing anything",
|
||||
"Using a nudity permit just because you want to be naked",
|
||||
"Nudity",
|
||||
"Autofellatio",
|
||||
"Clit dicks",
|
||||
"Teshari terrorists",
|
||||
"Being used as a tap at the bar",
|
||||
"Being suffocated by a tight gut",
|
||||
"Slurping noises",
|
||||
"Listening to someone slowly digest",
|
||||
"Not asking if your prey is backup implanted",
|
||||
"A person-sized load of cum",
|
||||
"Horse cocks",
|
||||
"A digested ID card",
|
||||
"Canine pussy",
|
||||
"Horse pussy",
|
||||
"All of medbay being eaten",
|
||||
"Getting space aids",
|
||||
"Being consumed by a deathclaw",
|
||||
"A traitor consuming every last crew member",
|
||||
"flooding the hallways with wolf cum",
|
||||
"The Skrell doing Skrell things",
|
||||
"Slimy xenomorph ovipositors",
|
||||
"Lusty xenomorph maids",
|
||||
"Steamy bareback sex",
|
||||
"Anal beads",
|
||||
"Being kidnapped after someone slips neurotoxin into your drink",
|
||||
"A woman who surprisingly doesn’t have a penis",
|
||||
"A man who surprisingly doesn’t have a penis",
|
||||
"Literally xenomorphs",
|
||||
"A blowjob",
|
||||
"Actually using a condom",
|
||||
"Metroids again",
|
||||
"Driving cargo tugs around like race cars",
|
||||
"Using your fat friend to try and start the singularity engine",
|
||||
"A latex maid costume",
|
||||
"A realistic xenomorph costume",
|
||||
"A seductive bee costume",
|
||||
"A cake hat",
|
||||
"A synthetic strapon with ten thousand different shapes",
|
||||
"A condom",
|
||||
"High heels",
|
||||
"Thigh high socks",
|
||||
"A swimsuit consisting of just a thong",
|
||||
"A cone hat",
|
||||
"Crawling into the mouth of a sleeping crewmember",
|
||||
"A full toolbelt",
|
||||
"A dildo",
|
||||
"fuzzy cuffs",
|
||||
"BDSM",
|
||||
"Being constricted by a giant serpent tail",
|
||||
"Bulges",
|
||||
"A bartender",
|
||||
"An EMT",
|
||||
"A clown",
|
||||
"A person AI",
|
||||
"The station AI",
|
||||
"Anatomically correct",
|
||||
"Toe beans",
|
||||
"Paws",
|
||||
"Slow digestion",
|
||||
//And everything beyond this are cards from the original CAH that fit well enough with the other cards
|
||||
"A 55-gallon drum of lube.",
|
||||
"A cooler full of organs.",
|
||||
"A gentle caress of the inner thigh.",
|
||||
"A homoerotic volleyball montage.",
|
||||
"A hot mess.",
|
||||
"A mating display.",
|
||||
"A tiny horse.",
|
||||
"A zesty breakfast burrito.",
|
||||
"An erection that lasts more than four hours.",
|
||||
"Anal beads.",
|
||||
"Balls.",
|
||||
"Basic human decency.",
|
||||
"Beating your wives.",
|
||||
"Being awesome at sex.",
|
||||
"Bitches.",
|
||||
"Centaurs.",
|
||||
"Civilian casualties.",
|
||||
"Daddy issues.",
|
||||
"Date rape.",
|
||||
"Exactly what you'd expect.",
|
||||
"Getting so angry that you pop a boner.",
|
||||
"Gloryholes.",
|
||||
"Good grammar.",
|
||||
"Intimacy problems.",
|
||||
"Just the tip.",
|
||||
"Lactation.",
|
||||
"My hot cousin.",
|
||||
"Natural male enhancement.",
|
||||
"My vagina.",
|
||||
"Panda sex.",
|
||||
"Sexting.",
|
||||
"Shaft.",
|
||||
"Tongue.",
|
||||
"A cop who is also a dog.",
|
||||
"A vagina that leads to another dimension.",
|
||||
"Blowing some dudes in an alley."
|
||||
)
|
||||
@@ -16,9 +16,9 @@
|
||||
ai_inactive = TRUE //Always off
|
||||
show_stat_health = FALSE //We will do it ourselves
|
||||
|
||||
response_help = "pats the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pats"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 2
|
||||
melee_damage_lower = 10
|
||||
@@ -241,7 +241,7 @@
|
||||
|
||||
//Message
|
||||
blob.visible_message("<b>[src.name]</b> collapses into a gooey blob!")
|
||||
|
||||
|
||||
//Duration of the to_puddle iconstate that the blob starts with
|
||||
sleep(13)
|
||||
blob.update_icon() //Will remove the collapse anim
|
||||
@@ -268,7 +268,7 @@
|
||||
if(pulledby)
|
||||
pulledby.stop_pulling()
|
||||
stop_pulling()
|
||||
|
||||
|
||||
//Stop healing if we are
|
||||
if(blob.healing)
|
||||
blob.healing.expire()
|
||||
@@ -278,7 +278,7 @@
|
||||
|
||||
//Message
|
||||
blob.visible_message("<b>[src.name]</b> reshapes into a humanoid appearance!")
|
||||
|
||||
|
||||
//Duration of above animation
|
||||
sleep(8)
|
||||
|
||||
@@ -303,7 +303,7 @@
|
||||
var/obj/belly/B = belly
|
||||
B.forceMove(src)
|
||||
B.owner = src
|
||||
|
||||
|
||||
//Get rid of friend blob
|
||||
qdel(blob)
|
||||
|
||||
|
||||
@@ -34,7 +34,8 @@
|
||||
"Parrot" = "parrot",
|
||||
"Rabbit" = "rabbit",
|
||||
"Bear" = "bear", //VOREStation Edit
|
||||
"Raccoon" = "raccoon" //Chompstation Edit
|
||||
"Raccoon" = "raccoon", //Chompstation Edit
|
||||
"Rat" = "rat"//Chompstation Edit
|
||||
)
|
||||
|
||||
var/global/list/possible_say_verbs = list(
|
||||
@@ -43,7 +44,8 @@
|
||||
"Beep" = list("beeps","beeps loudly","boops"),
|
||||
"Chirp" = list("chirps","chirrups","cheeps"),
|
||||
"Feline" = list("purrs","yowls","meows"),
|
||||
"Canine" = list("yaps","barks","woofs")
|
||||
"Canine" = list("yaps","barks","woofs"),
|
||||
"Rodent" = list("squeaks", "SQUEAKS", "sqiks")//Chompstation Edit
|
||||
)
|
||||
|
||||
var/obj/item/weapon/pai_cable/cable // The cable we produce and use when door or camera jacking
|
||||
@@ -316,7 +318,7 @@
|
||||
return
|
||||
|
||||
close_up()
|
||||
|
||||
/*CHOMPstation edit | redefined in pai_vr.dm
|
||||
/mob/living/silicon/pai/proc/choose_chassis()
|
||||
set category = "pAI Commands"
|
||||
set name = "Choose Chassis"
|
||||
@@ -329,11 +331,11 @@
|
||||
if(!choice) return
|
||||
|
||||
icon_state = possible_chassis[choice]
|
||||
finalized = alert("Look at your sprite. Is this what you wish to use?",,"No","Yes")
|
||||
finalized = alert("Look at your sprite. Is this what you wish to use?",,"No","Yes")//CHOMPStation edit
|
||||
|
||||
chassis = possible_chassis[choice]
|
||||
verbs |= /mob/living/proc/hide
|
||||
|
||||
*/
|
||||
/mob/living/silicon/pai/proc/choose_verbs()
|
||||
set category = "pAI Commands"
|
||||
set name = "Choose Speech Verbs"
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/mob/living/silicon/pai
|
||||
var/people_eaten = 0
|
||||
icon = 'icons/mob/pai_vr.dmi'
|
||||
var/global/list/wide_chassis = list(
|
||||
"rat"
|
||||
)
|
||||
|
||||
/mob/living/silicon/pai/proc/pai_nom(var/mob/living/T in oview(1))
|
||||
set name = "pAI Nom"
|
||||
@@ -31,6 +34,13 @@
|
||||
else if(people_eaten && resting)
|
||||
icon_state = "[chassis]_rest_full"
|
||||
|
||||
if(chassis in wide_chassis)
|
||||
icon = 'icons/mob/pai_vr64x64.dmi'
|
||||
pixel_x = -16
|
||||
else
|
||||
icon = 'icons/mob/pai_vr.dmi'
|
||||
pixel_x = 0
|
||||
|
||||
/mob/living/silicon/pai/update_icons() //And other functions cause this to occur, such as digesting someone.
|
||||
..()
|
||||
update_fullness_pai()
|
||||
@@ -42,3 +52,21 @@
|
||||
icon_state = "[chassis]_full"
|
||||
else if(people_eaten && resting)
|
||||
icon_state = "[chassis]_rest_full"
|
||||
|
||||
if(chassis in wide_chassis)
|
||||
icon = 'icons/mob/pai_vr64x64.dmi'
|
||||
pixel_x = -16
|
||||
else
|
||||
icon = 'icons/mob/pai_vr.dmi'
|
||||
pixel_x = 0
|
||||
//proc override to avoid pAI players being invisible while the chassis selection window is open
|
||||
/mob/living/silicon/pai/proc/choose_chassis()
|
||||
set category = "pAI Commands"
|
||||
set name = "Choose Chassis"
|
||||
var/choice
|
||||
|
||||
choice = input(usr,"What would you like to use for your mobile chassis icon?") as null|anything in possible_chassis
|
||||
if(!choice) return
|
||||
chassis = possible_chassis[choice]
|
||||
verbs |= /mob/living/proc/hide
|
||||
update_icon()
|
||||
|
||||
@@ -671,4 +671,12 @@
|
||||
desc = "A mounted matter decompiling unit with fuel processor."
|
||||
icon_state = "decompiler"
|
||||
max_item_count = 10
|
||||
decompiler = TRUE
|
||||
decompiler = TRUE
|
||||
|
||||
// PLACEHOLDER SERVICE BORG BELLY
|
||||
/obj/item/device/dogborg/sleeper/servborg
|
||||
name = "Gourmet Gut"
|
||||
desc = "An underslung microwave, with optional fuel processor."
|
||||
icon_state = "decompiler"
|
||||
max_item_count = 10
|
||||
injection_chems = null
|
||||
@@ -43,6 +43,7 @@
|
||||
robot_modules["Janihound"] = /obj/item/weapon/robot_module/robot/scrubpup
|
||||
robot_modules["Sci-borg"] = /obj/item/weapon/robot_module/robot/science
|
||||
robot_modules["Pupdozer"] = /obj/item/weapon/robot_module/robot/engiedog
|
||||
robot_modules["Service-borg"] = /obj/item/weapon/robot_module/robot/servborg
|
||||
return 1
|
||||
|
||||
//Just add a new proc with the robot_module type if you wish to run some other vore code
|
||||
@@ -567,6 +568,83 @@
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
..()
|
||||
|
||||
// SKYVAAL ADDED SERVICE BORG CODE
|
||||
/obj/item/weapon/robot_module/robot/servborg
|
||||
name = "Service Hound Module"
|
||||
can_buckle = 1
|
||||
sprites = list(
|
||||
"Chef-borg" = "servborg",
|
||||
"Booze-borg" = "boozeborg"
|
||||
)
|
||||
channels = list("Service" = 1)
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/weapon/robot_module/robot/servborg/New(var/mob/living/silicon/robot/R)
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth()
|
||||
water.name = "Water reserves"
|
||||
water.recharge_rate = 0.1 // Recharging water for plants - hehe drooly borg
|
||||
water.max_energy = 1000
|
||||
water.energy = 0
|
||||
R.water_res = water
|
||||
synths += water
|
||||
|
||||
// Dogborg Standard
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
|
||||
var/obj/item/device/dogborg/tongue/T = new /obj/item/device/dogborg/tongue(src)
|
||||
T.water = water
|
||||
src.modules += T
|
||||
|
||||
// PLACEHOLDER AS 'BRIGBELLY' UNTIL MICROWAVE BELLY SORTED
|
||||
var/obj/item/device/dogborg/sleeper/servborg/B = new /obj/item/device/dogborg/sleeper/servborg(src)
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
//Service Module Copy/Paste
|
||||
src.modules += new /obj/item/weapon/gripper/service(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src)
|
||||
src.modules += new /obj/item/weapon/material/minihoe(src)
|
||||
src.modules += new /obj/item/weapon/material/knife/machete/hatchet(src)
|
||||
src.modules += new /obj/item/device/analyzer/plant_analyzer(src)
|
||||
src.modules += new /obj/item/weapon/storage/bag/plants(src)
|
||||
src.modules += new /obj/item/weapon/robot_harvester(src)
|
||||
src.modules += new /obj/item/weapon/material/knife(src)
|
||||
src.modules += new /obj/item/weapon/material/kitchen/rollingpin(src)
|
||||
src.modules += new /obj/item/device/multitool(src) //to freeze trays
|
||||
|
||||
var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src)
|
||||
M.stored_matter = 30
|
||||
src.modules += M
|
||||
|
||||
src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src)
|
||||
|
||||
var/obj/item/weapon/flame/lighter/zippo/L = new /obj/item/weapon/flame/lighter/zippo(src)
|
||||
L.lit = 1
|
||||
src.modules += L
|
||||
|
||||
src.modules += new /obj/item/weapon/tray/robotray(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/service(src)
|
||||
src.emag = new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src)
|
||||
|
||||
var/datum/reagents/F = new/datum/reagents(50)
|
||||
src.emag.reagents = F
|
||||
F.my_atom = src.emag
|
||||
F.add_reagent("beer2", 50)
|
||||
src.emag.name = "Mickey Finn's Special Brew"
|
||||
|
||||
R.icon = 'icons/mob/widerobot_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/Reset(var/mob/living/silicon/robot/R)
|
||||
R.pixel_x = initial(pixel_x)
|
||||
R.pixel_y = initial(pixel_y)
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
turns_per_move = 3
|
||||
speed = 4
|
||||
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 10
|
||||
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
speed = 4
|
||||
turns_per_move = 5
|
||||
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 8
|
||||
melee_damage_lower = 15
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
desc = "It's Coffee, the other pet!"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "stomps"
|
||||
response_harm = "stomps on"
|
||||
|
||||
//Sif Crabs
|
||||
/mob/living/simple_animal/giant_crab
|
||||
@@ -78,18 +78,18 @@
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "stomps"
|
||||
response_harm = "kicks"
|
||||
friendly = "pinches"
|
||||
|
||||
speak_chance = 1
|
||||
speak_emote = list("clicks")
|
||||
emote_hear = list("clicks")
|
||||
emote_see = list("clacks")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Enemy version.
|
||||
/mob/living/simple_animal/hostile/giant_crab
|
||||
/mob/living/simple_animal/hostile/giant_crab
|
||||
name = "giant crab"
|
||||
desc = "A giant enemy crab."
|
||||
tt_desc = "S Cancer holligus"
|
||||
@@ -116,7 +116,7 @@
|
||||
attack_sharp = 1
|
||||
attack_edge = 1
|
||||
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 40,
|
||||
"bullet" = 10,
|
||||
"laser" = 25,
|
||||
@@ -128,7 +128,7 @@
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "stomps"
|
||||
response_harm = "kicks"
|
||||
friendly = "pinches"
|
||||
|
||||
speak_chance = 1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/mob/living/simple_animal/deer
|
||||
name = "Deer"
|
||||
name = "deer"
|
||||
desc = "An animal with impressive antlers and skittish personality, though this one seems domesticated."
|
||||
tt_desc = "Cervus elaphus"
|
||||
icon_state = "Deer"
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
response_help = "pets"
|
||||
response_disarm = "barely manage to push aside"
|
||||
response_harm = "nibbles"
|
||||
response_harm = "hits"
|
||||
attacktext = list("nibbled")
|
||||
|
||||
speak_chance = 20
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
|
||||
turns_per_move = 5
|
||||
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 5 //they're meant to be annoying, not threatening.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/mob/living/simple_animal/lizard
|
||||
name = "Lizard"
|
||||
name = "lizard"
|
||||
desc = "A cute tiny lizard."
|
||||
faction = "lizard"
|
||||
tt_desc = "E Anolis cuvieri"
|
||||
@@ -25,11 +25,11 @@
|
||||
speak_emote = list("hisses")
|
||||
var/amount_grown = 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/lizard/event
|
||||
desc = "This one looks like it is growing huge!"
|
||||
|
||||
|
||||
/mob/living/simple_animal/lizard/event/Life()
|
||||
. = ..()
|
||||
if(amount_grown >= 0)
|
||||
@@ -43,7 +43,7 @@
|
||||
if(prob(99.999))
|
||||
new /mob/living/simple_animal/hostile/lizardman(get_turf(src))
|
||||
qdel(src)
|
||||
else
|
||||
else
|
||||
new /mob/living/simple_animal/hostile/deathclaw(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
icon_dead = "sculpture"
|
||||
emote_hear = list("makes a faint scraping sound")
|
||||
emote_see = list("twitches slightly", "shivers")
|
||||
response_help = "touches the"
|
||||
response_disarm = "pushes the"
|
||||
response_harm = "hits the"
|
||||
response_help = "touches"
|
||||
response_disarm = "pushes"
|
||||
response_harm = "hits"
|
||||
see_in_dark = 8 //Needs to see in darkness to snap in darkness
|
||||
pass_flags = PASSTABLE
|
||||
var/response_snap = "snapped the neck of" //Past tense because it "happened before you could see it"
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
"rad" = 100)
|
||||
has_hands = 1
|
||||
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
|
||||
|
||||
pass_flags = PASSTABLE
|
||||
@@ -182,7 +182,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
metabolism = REM * 1 //ten times faster for convenience of testers.
|
||||
color = "#00FFFF"
|
||||
overdose = REAGENTS_OVERDOSE * 20 //it's all fake. But having nanomachines move through you is not good at a certain amount.
|
||||
|
||||
|
||||
/datum/reagent/inaprovaline/synxchem/holo/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien != IS_DIONA)
|
||||
if(prob(5))
|
||||
@@ -230,8 +230,8 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
M.adjustHalLoss(1) //dealing 5 times the amount of brute healed as halo, but we cant feel pain yet
|
||||
// ^ I have no idea what this might cause, my ideal plan is that once the pain killer wears off you suddenly collapse;
|
||||
//Since Halloss is not "real" damage this should not cause death
|
||||
|
||||
|
||||
|
||||
|
||||
/datum/reagent/inaprovaline/synxchem/overdose(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien != IS_DIONA)
|
||||
@@ -242,7 +242,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
M.AdjustStunned(1)
|
||||
if(prob(2))
|
||||
M.AdjustParalysis(1)
|
||||
|
||||
|
||||
/datum/reagent/inaprovaline/synxchem/holo/overdose(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
return
|
||||
|
||||
@@ -298,7 +298,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
/mob/living/simple_animal/retaliate/synx/handle_idle_speaking()
|
||||
if(voices && prob(speak_chance/2))
|
||||
randomspeech()
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////// POWERS!!!! /////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -349,7 +349,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
set category = "Abilities"
|
||||
if(speak && voices)
|
||||
handle_mimic()
|
||||
else
|
||||
else
|
||||
usr << "<span class='warning'>YOU NEED TO HEAR THINGS FIRST, try using Ventcrawl to eevesdrop on nerds</span>"
|
||||
|
||||
/mob/living/simple_animal/retaliate/synx/proc/handle_mimic()
|
||||
@@ -370,14 +370,14 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
glow_range = 4
|
||||
glow_toggle = 1
|
||||
player_msg = "You aren't supposed to be in this. Wrong mob."
|
||||
|
||||
|
||||
/mob/living/simple_animal/retaliate/synx/pet/init_vore()
|
||||
..()
|
||||
var/obj/belly/B = vore_selected
|
||||
B.vore_verb = "swallow"
|
||||
B.digest_burn = 1
|
||||
B.digest_brute = 0
|
||||
|
||||
|
||||
/mob/living/simple_animal/retaliate/synx/pet/holo/init_vore()
|
||||
..()
|
||||
var/obj/belly/B = vore_selected
|
||||
@@ -408,7 +408,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
var/location = get_turf(src)
|
||||
new /obj/item/seeds/hardlightseed/typesx(location)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/mob/living/simple_animal/retaliate/synx/pet/holo/gib()
|
||||
visible_message("<span class='notice'>\The [src] fades away!</span>")
|
||||
var/location = get_turf(src)
|
||||
@@ -469,7 +469,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
icon_state = "synx_diablo_living"
|
||||
icon_living = "synx_diablo_living"
|
||||
icon_dead = "synx_diablo_dead"
|
||||
speak = list( )
|
||||
speak = list( )
|
||||
//Vore Section
|
||||
vore_capacity = 2
|
||||
|
||||
@@ -479,7 +479,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
icon_state = "synx_diablo_living"
|
||||
icon_living = "synx_diablo_living"
|
||||
icon_dead = "synx_diablo_dead"
|
||||
speak = list( )
|
||||
speak = list( )
|
||||
//Vore Section
|
||||
vore_capacity = 2
|
||||
|
||||
@@ -502,7 +502,7 @@ mob/living/simple_animal/synx/PunchTarget()
|
||||
//Vore Section
|
||||
vore_default_mode = DM_HEAL
|
||||
vore_capacity = 10
|
||||
vore_digest_chance = 0
|
||||
vore_digest_chance = 0
|
||||
vore_pounce_chance = 1 //MAKE THEM HONK
|
||||
vore_bump_chance = 0 //lowered bump chance
|
||||
vore_escape_chance = 100
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
response_help = "touches"
|
||||
response_disarm = "flails at"
|
||||
response_harm = "punches the"
|
||||
response_harm = "punches"
|
||||
|
||||
harm_intent_damage = 2
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
firing_lines = TRUE
|
||||
investigates = TRUE
|
||||
assist_distance = 100
|
||||
|
||||
|
||||
turns_per_move = 5
|
||||
stop_when_pulled = 0
|
||||
|
||||
@@ -85,9 +85,9 @@
|
||||
icon_gib = "clown_gib"
|
||||
speak_chance = 50
|
||||
turns_per_move = 5
|
||||
response_help = "pokes the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pokes"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
speak = list("HONK", "Honk!")
|
||||
speak_emote = list("squeals", "cries","sobs")
|
||||
emote_hear = list("honks sadly")
|
||||
@@ -127,15 +127,15 @@
|
||||
icon_state = "ClownGoblin"
|
||||
icon_living = "ClownGoblin"
|
||||
icon_dead = null
|
||||
response_help = "honks the"
|
||||
response_help = "honks"
|
||||
speak = list("Honk!")
|
||||
speak_emote = list("sqeaks")
|
||||
emote_hear = list("honks")
|
||||
maxHealth = 100
|
||||
health = 100
|
||||
|
||||
|
||||
view_range = 30//owo
|
||||
|
||||
|
||||
speed = 1
|
||||
turns_per_move = 1
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
/mob/living/simple_animal/clowngang
|
||||
name = "Pandoras box"
|
||||
desc = "A honkmotherload of fun"
|
||||
|
||||
|
||||
/mob/living/simple_animal/clowngang/Life()
|
||||
death()
|
||||
/mob/living/simple_animal/clowngang/death()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/mob/living/simple_animal/hostile/pirate
|
||||
name = "Pirate"
|
||||
name = "pirate"
|
||||
desc = "Does what he wants cause a pirate is free."
|
||||
tt_desc = "E Homo sapiens"
|
||||
icon_state = "piratemelee"
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
returns_home = 1
|
||||
reacts = 1
|
||||
|
||||
response_help = "pats the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pats"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 8
|
||||
melee_damage_lower = 15
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
speak = list("Buzzzz")
|
||||
speak_chance = 1
|
||||
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
turns_per_move = 5
|
||||
speed = 5
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
say_maybe_target = list("MEAT?", "N0w YOU DNE FcukED UP b0YO!", "WHAT!", "Not again. NOT AGAIN!")
|
||||
say_got_target = list("D##FIN1Tly DNE FcukED UP nOW b0YO!", "YOU G1T D#V0VRED nOW!", "FUEL ME bOYO!", "I*M SO SORRY?!", "D1E Meat. DIG#ST!", "G1T DVNKED DWN The HaaTCH!", "Not again. NOT AGAIN!")
|
||||
|
||||
response_help = "pets the"
|
||||
response_disarm = "bops the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "bops"
|
||||
response_harm = "hits"
|
||||
attacktext = list("ravaged")
|
||||
friendly = list("nuzzles", "slobberlicks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on")
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
maxHealth = 30
|
||||
health = 30
|
||||
|
||||
response_help = "pats the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pats"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 5
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
speak_emote = list("growls","hisses")
|
||||
say_maybe_target = list("Rawr?")
|
||||
say_got_target = list("GWAR!!")
|
||||
response_help = "pets the"
|
||||
response_disarm = "bops the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "bops"
|
||||
response_harm = "hits"
|
||||
attacktext = list("bit")
|
||||
friendly = list("nuzzles", "licks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on")
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
maxHealth = 25
|
||||
health = 25
|
||||
speed = 4
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
harm_intent_damage = 5
|
||||
isEdible = 0 //They cannot be eaten while alive.
|
||||
var/canEvolve = 1 //A variable for admins to turn off and on for when they like assign a player as a mob. I want to add a verb so that they can do it on command when the conditions are right in the future.
|
||||
@@ -49,14 +49,14 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
emote_see = list("SKREE's")
|
||||
|
||||
meat_type = /obj/item/toy/figure/samus
|
||||
|
||||
|
||||
var/mob/living/victim = null // the person the metroid is currently feeding on
|
||||
var/optimal_combat = FALSE // Used to dumb down the combat AI somewhat. If true, the metroid tends to be really dangerous to fight alone due to stunlocking.
|
||||
var/power_charge = 0
|
||||
var/evo_point = 0
|
||||
var/evo_limit = 0
|
||||
var/next = null
|
||||
|
||||
|
||||
//Stuff for if a person is playing as a metroid.
|
||||
show_stat_health = 1 // Does the percentage health show in the stat panel for the mob
|
||||
ai_inactive = 0 // Set to 1 to turn off most AI actions
|
||||
@@ -68,10 +68,10 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
//r_hand_sprite = "piranha_r" // If they have hands, //TODO make a leaf sprite for this
|
||||
//l_hand_sprite = "piranha_l" // they could use some icons.
|
||||
player_msg = "SUCC." // Message to print to players about 'how' to play this mob on login.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid //activate noms
|
||||
vore_active = 1
|
||||
vore_pounce_chance = 25
|
||||
@@ -81,8 +81,8 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
/mob/living/simple_animal/hostile/metroid/death()
|
||||
playsound(src, 'sound/effects/metroiddeath.ogg', 50, 1)
|
||||
..()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/mine
|
||||
name = "Mochtroid"
|
||||
@@ -125,7 +125,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 5
|
||||
melee_miss_chance = 0
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 50,
|
||||
"bullet" = 30,
|
||||
"laser" = 80,
|
||||
@@ -164,20 +164,20 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
cooperative = 1
|
||||
evo_point = 800
|
||||
evo_limit = 1000
|
||||
next = "/mob/living/simple_animal/hostile/metroid/evolution/super"
|
||||
next = "/mob/living/simple_animal/hostile/metroid/evolution/super"
|
||||
vore_active = 0
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/baby/New()
|
||||
playsound(src, 'sound/metroid/metroidsee.ogg', 100, 1)
|
||||
..()
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/super
|
||||
name = "super metroid"
|
||||
desc = "Some kind of head sucky thing!"
|
||||
@@ -193,7 +193,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_damage_lower = 2
|
||||
melee_damage_upper = 5
|
||||
melee_miss_chance = 0
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 50,
|
||||
"bullet" = 30,
|
||||
"laser" = 90,
|
||||
@@ -232,7 +232,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
evo_point = 1200
|
||||
evo_limit = 1400
|
||||
next = "/mob/living/simple_animal/hostile/metroid/combat/alpha"
|
||||
|
||||
|
||||
vore_active = 1
|
||||
vore_bump_chance = 0
|
||||
vore_capacity = 1
|
||||
@@ -240,20 +240,20 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
vore_pounce_chance = 25 //Metroids only eat incapacitated targets
|
||||
vore_default_mode = DM_DIGEST
|
||||
swallowTime = 1 SECONDS //Hungry little bastards.
|
||||
vore_escape_chance = 25
|
||||
vore_escape_chance = 25
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/super/New()
|
||||
playsound(src, 'sound/metroid/metroidsee.ogg', 100, 1)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/super/death()
|
||||
playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1)
|
||||
..()
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_damage_upper = 15
|
||||
melee_miss_chance = 5
|
||||
attacktext = list("rammed")
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 60,
|
||||
"bullet" = 45,
|
||||
"laser" = 50,
|
||||
@@ -283,7 +283,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
gender = NEUTER
|
||||
faction = "metroids"
|
||||
move_to_delay = 3
|
||||
|
||||
|
||||
//Alphas lose their vulnerability to cold.
|
||||
minbodytemp = 0
|
||||
min_oxy = 0
|
||||
@@ -327,14 +327,14 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
vore_icons = SA_ICON_LIVING
|
||||
vore_pounce_chance = 15 //Alphas will try knocking targets over since they lost their stun ability from the initial phases.
|
||||
vore_default_mode = DM_DIGEST
|
||||
swallowTime = 3 SECONDS
|
||||
swallowTime = 3 SECONDS
|
||||
vore_escape_chance = 25
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -354,7 +354,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_damage_upper = 20
|
||||
melee_miss_chance = 5
|
||||
attacktext = list("rammed")
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 60,
|
||||
"bullet" = 50,
|
||||
"laser" = 50,
|
||||
@@ -365,7 +365,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
gender = NEUTER
|
||||
faction = "metroids"
|
||||
move_to_delay = 4
|
||||
|
||||
|
||||
move_shoot = 1 //Move and shoot at the same time.
|
||||
ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
|
||||
ranged_cooldown_time = 150 //How long, in deciseconds, the cooldown of ranged attacks is
|
||||
@@ -407,7 +407,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
/mob/living/simple_animal/hostile/metroid/combat/gamma/New()
|
||||
playsound(src, 'sound/metroid/metroidgamma.ogg', 100, 1)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/gamma/death()
|
||||
playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1)
|
||||
..()
|
||||
@@ -417,14 +417,14 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
vore_bump_chance = 0
|
||||
vore_capacity = 1
|
||||
vore_icons = SA_ICON_LIVING
|
||||
vore_pounce_chance = 15
|
||||
vore_pounce_chance = 15
|
||||
vore_default_mode = DM_DIGEST
|
||||
swallowTime = 3 SECONDS
|
||||
swallowTime = 3 SECONDS
|
||||
vore_escape_chance = 20
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -444,7 +444,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_miss_chance = 5
|
||||
attack_armor_pen = 10
|
||||
attacktext = list("slashed")
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 70,
|
||||
"bullet" = 60,
|
||||
"laser" = 50,
|
||||
@@ -455,7 +455,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
gender = NEUTER
|
||||
faction = "metroids"
|
||||
move_to_delay = 4
|
||||
|
||||
|
||||
move_shoot = 1 //Move and shoot at the same time.
|
||||
ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
|
||||
ranged_cooldown_time = 60 //How long, in deciseconds, the cooldown of ranged attacks is
|
||||
@@ -474,7 +474,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
unsuitable_atoms_damage = 0
|
||||
|
||||
|
||||
pixel_x = -16
|
||||
pixel_y = -16
|
||||
old_x = -16
|
||||
@@ -499,7 +499,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
/mob/living/simple_animal/hostile/metroid/combat/zeta/New()
|
||||
playsound(src, 'sound/metroid/metroidzeta.ogg', 100, 1)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/zeta/death()
|
||||
playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1)
|
||||
..()
|
||||
@@ -509,15 +509,15 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
vore_bump_chance = 0
|
||||
vore_capacity = 1
|
||||
vore_icons = SA_ICON_LIVING
|
||||
vore_pounce_chance = 20
|
||||
vore_pounce_chance = 20
|
||||
vore_default_mode = DM_DIGEST
|
||||
swallowTime = 3 SECONDS
|
||||
swallowTime = 3 SECONDS
|
||||
vore_escape_chance = 15
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -537,7 +537,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_miss_chance = 5
|
||||
attack_armor_pen = 20
|
||||
attacktext = list("slashed")
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 75,
|
||||
"bullet" = 60,
|
||||
"laser" = 55,
|
||||
@@ -549,7 +549,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
faction = "metroids"
|
||||
speed = 4
|
||||
move_to_delay = 5
|
||||
|
||||
|
||||
move_shoot = 1 //Move and shoot at the same time.
|
||||
ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
|
||||
ranged_cooldown_time = 150 //How long, in deciseconds, the cooldown of ranged attacks is
|
||||
@@ -568,7 +568,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
unsuitable_atoms_damage = 0
|
||||
|
||||
|
||||
old_x = -16
|
||||
old_y = 0
|
||||
default_pixel_x = -16
|
||||
@@ -593,7 +593,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
/mob/living/simple_animal/hostile/metroid/combat/omega/New()
|
||||
playsound(src, 'sound/metroid/metroidomega.ogg', 100, 1)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/omega/death()
|
||||
playsound(src, 'sound/metroid/metroidomegadeath.ogg', 100, 1)
|
||||
..()
|
||||
@@ -603,15 +603,15 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
vore_bump_chance = 0
|
||||
vore_capacity = 2
|
||||
vore_icons = SA_ICON_LIVING
|
||||
vore_pounce_chance = 40
|
||||
vore_pounce_chance = 40
|
||||
vore_default_mode = DM_DIGEST
|
||||
swallowTime = 3 SECONDS
|
||||
vore_escape_chance = 5
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -631,7 +631,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
melee_miss_chance = 5
|
||||
attack_armor_pen = 20
|
||||
attacktext = list("gnashed")
|
||||
armor = list(
|
||||
armor = list(
|
||||
"melee" = 75,
|
||||
"bullet" = 60,
|
||||
"laser" = 60,
|
||||
@@ -661,7 +661,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
unsuitable_atoms_damage = 0
|
||||
|
||||
|
||||
pixel_x = -16
|
||||
pixel_y = -16
|
||||
old_x = -16
|
||||
@@ -678,18 +678,18 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
evo_point = 1100
|
||||
evo_limit = INFINITY
|
||||
next = null
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/queen/New()
|
||||
playsound(src, 'sound/metroid/metroidqueen.ogg', 100, 1)
|
||||
queen_amount++
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/queen/death()
|
||||
playsound(src, 'sound/metroid/metroidqueendeath.ogg', 100, 1)
|
||||
queen_amount--
|
||||
..()
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/queen //active noms
|
||||
vore_active = 1
|
||||
vore_bump_chance = 0
|
||||
@@ -706,13 +706,13 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
|
||||
|
||||
/*
|
||||
//Objects related to the Metroids.
|
||||
//Objects related to the Metroids.
|
||||
//Projectile for the Metroids.
|
||||
*/
|
||||
|
||||
|
||||
/obj/item/projectile/energy/metroidacid
|
||||
|
||||
|
||||
name = "metroid acid"
|
||||
icon_state = "neurotoxin"
|
||||
damage = 10
|
||||
@@ -720,7 +720,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
agony = 10
|
||||
check_armour = "bio"
|
||||
armor_penetration = 50
|
||||
|
||||
|
||||
//EGG! Metroid egg and its mechanics. Ripped from spiders.
|
||||
/obj/effect/metroid/egg
|
||||
name = "egg cluster"
|
||||
@@ -758,9 +758,9 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
//LIFE STUFF, AND MECHANICS!
|
||||
@@ -776,7 +776,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
release_vore_contents()
|
||||
prey_excludes.Cut()
|
||||
stop_consumption()
|
||||
|
||||
|
||||
if(canEvolve == 1 && nutrition >= evo_point && !buckled && vore_fullness == 0 && !victim)
|
||||
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)
|
||||
paralysis = 7998
|
||||
@@ -794,8 +794,8 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
new next(get_turf(src))
|
||||
visible_message("<span class='warning'>\The [src] suddenly evolves!</span>")
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/handle_regular_status_updates()
|
||||
if(stat != DEAD)
|
||||
|
||||
@@ -849,7 +849,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
if(prob(input * 2)) // Gain around one level per 50 nutrition
|
||||
power_charge = min(power_charge++, 10)
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/PunchTarget() //this segment determines what the mob does depending on its intent.
|
||||
if(victim)
|
||||
return // Already eatting someone.
|
||||
@@ -954,7 +954,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/DoPunch(var/mob/living/L) //Metroid melee.
|
||||
var/damage_to_do = rand(melee_damage_lower, melee_damage_upper)
|
||||
var/armor_modifier = abs((L.getarmor(null, "bio") / 100) - 1)
|
||||
|
||||
|
||||
if(!Adjacent(L)) // Might've moved away in the meantime.
|
||||
return
|
||||
|
||||
@@ -1062,8 +1062,8 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
paralysis = 7998
|
||||
sleep(50)
|
||||
paralysis = 0
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/FindTarget() //This makes it so it doesn't go after another target while succing.
|
||||
if(victim) // Don't worry about finding another target if we're sucking on someone's head.
|
||||
return
|
||||
@@ -1081,9 +1081,9 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/evolution/baby/Found(mob/living/L)
|
||||
if(isliving(L))
|
||||
if(SA_attackable(L))
|
||||
@@ -1094,21 +1094,21 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
return H // Monkeys are always food.
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(istype(H.species, /datum/species/monkey)) // istype() is so they'll eat the alien monkeys too.
|
||||
return H // Monkeys are always food.
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
//LIFE PROCS!
|
||||
//FOR THE COMBAT FORMS
|
||||
//LIFE PROCS!
|
||||
//FOR THE COMBAT FORMS
|
||||
*/
|
||||
|
||||
|
||||
@@ -1119,7 +1119,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
if(canEvolve == 1 && nutrition >= evo_limit && vore_fullness == TRUE) //spit dat crap out if nutrition gets too high!
|
||||
release_vore_contents()
|
||||
prey_excludes.Cut()
|
||||
|
||||
|
||||
if(canEvolve == 1 && nutrition >= evo_point && vore_fullness == 0 && next != "/mob/living/simple_animal/hostile/metroid/combat/queen")
|
||||
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)
|
||||
paralysis = 7998
|
||||
@@ -1127,14 +1127,14 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
paralysis = 0
|
||||
expand_troid()
|
||||
return
|
||||
|
||||
|
||||
else if(queen_amount == 0 && prob(5) && canEvolve == 1 && nutrition >= evo_point && vore_fullness == 0 && next == "/mob/living/simple_animal/hostile/metroid/combat/queen")
|
||||
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)
|
||||
paralysis = 7998
|
||||
sleep(50)
|
||||
paralysis = 0
|
||||
expand_troid()
|
||||
|
||||
|
||||
else if(next == null && canEvolve == 1 && nutrition >= evo_point)
|
||||
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)
|
||||
src.visible_message("<span class='notice'>\The [src] begins to lay an egg.</span>")
|
||||
@@ -1144,12 +1144,12 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
stop_automated_movement = 0
|
||||
nutrition = 400
|
||||
return
|
||||
|
||||
|
||||
if(stance == 7) //Necessary to fix a bug where if their prey or latching victim is laying down when they evolve, they get stuck in stance 7 and do nothing.
|
||||
stance = 4
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/metroid/combat/proc/adjust_nutrition(input)
|
||||
@@ -1168,7 +1168,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
/mob/living/simple_animal/hostile/metroid/combat/DoPunch(var/mob/living/L) //Metroid actions vs the player.
|
||||
var/damage_to_do = rand(melee_damage_lower, melee_damage_upper)
|
||||
var/armor_modifier = abs((L.getarmor(null, "bio") / 100) - 1)
|
||||
|
||||
|
||||
if(!Adjacent(L)) // Might've moved away in the meantime.
|
||||
return
|
||||
|
||||
@@ -1184,12 +1184,12 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
|
||||
|
||||
if(I_HURT) //The metroid does this if it can't latch onto the target or it decides not to try knocking them down.
|
||||
ai_log("DoPunch() against [L], hurting.",2)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
L.attack_generic(src, damage_to_do, pick(attacktext))
|
||||
playsound(src, 'sound/weapons/bite.ogg', 75, 1)
|
||||
|
||||
|
||||
// Give the Metroid some nutrition, if applicable, even if not attached.
|
||||
if(!L.isSynthetic())
|
||||
if(ishuman(L))
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
say_got_target = list("Rurrr!", "ROAR!", "MARR!", "RERR!", "RAHH!", "RAH!", "WARF!")
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 15 //Don't break my bones bro
|
||||
response_help = "pets the"
|
||||
response_disarm = "bops the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "bops"
|
||||
response_harm = "hits"
|
||||
attacktext = list("mauled")
|
||||
friendly = list("nuzzles", "slobberlicks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on")
|
||||
meat_amount = 6
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
emote_see = list("runs in a circle", "shakes", "scritches at something")
|
||||
say_maybe_target = list("Squeek?")
|
||||
say_got_target = list("SQUEEK!")
|
||||
response_help = "pets the"
|
||||
response_disarm = "bops the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "bops"
|
||||
response_harm = "hits"
|
||||
attacktext = list("ravaged")
|
||||
friendly = list("nuzzles", "licks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on")
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
maxHealth = 30
|
||||
health = 30
|
||||
|
||||
response_help = "pats the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pats"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 5
|
||||
@@ -76,9 +76,9 @@
|
||||
maxHealth = 150
|
||||
health = 150
|
||||
|
||||
response_help = "pats the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pats"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 5
|
||||
|
||||
@@ -43,9 +43,9 @@
|
||||
emote_see = list("tailtwitches", "earflicks")
|
||||
say_maybe_target = list("...mar?")
|
||||
say_got_target = list("MAR!!!")
|
||||
response_help = "pets the"
|
||||
response_disarm = "bops the"
|
||||
response_harm = "hits the"
|
||||
response_help = "pets"
|
||||
response_disarm = "bops"
|
||||
response_harm = "hits"
|
||||
attacktext = list("mauled","slashed","clawed")
|
||||
friendly = list("boops", "pawbs", "mars softly at", "sniffs on")
|
||||
reactions = list("Mar?" = "Marrr!", "Mar!" = "Marrr???", "Mar." = "Marrr.")
|
||||
|
||||
@@ -25,8 +25,9 @@ var/image/gurgled_overlay = image('icons/effects/sludgeoverlay_vr.dmi')
|
||||
/obj/item/proc/can_gurgle()
|
||||
if(flags & PHORONGUARD)
|
||||
return FALSE
|
||||
else if(phoronproof == TRUE)
|
||||
return FALSE
|
||||
//TFF 2/8/19 - removed to prevent contamination damage.
|
||||
// else if(phoronproof == TRUE)
|
||||
// return FALSE
|
||||
else if(unacidable)
|
||||
return FALSE
|
||||
else
|
||||
|
||||
@@ -812,8 +812,9 @@
|
||||
user.client.prefs_vr.digestable = user.digestable
|
||||
|
||||
//TFF 30/4/19: Ports VoreStation Remains Option - add option that goes paw in paw with belly setting; allow yourself to leave bones behind after you're digested
|
||||
//TFF 2/8/19 - Add admin message notification for setting this ON.
|
||||
if(href_list["toggledlm"])
|
||||
var/choice = alert(user, "This button allows preds to have your remains be left in their belly after you are digested. This will only happen if pred sets their belly to do so. Remains consist of skeletal parts. Currently you are [user.digest_leave_remains? "" : "not"] leaving remains.", "", "Allow Post-digestion Remains", "Cancel", "Disallow Post-digestion Remains")
|
||||
var/choice = alert(user, "This button allows preds to have your remains be left in their belly after you are digested. This will only happen if pred sets their belly to do so. Remains consist of skeletal parts. Setting this will notify admins. Currently you are [user.digest_leave_remains? "" : "not"] leaving remains.", "", "Allow Post-digestion Remains", "Cancel", "Disallow Post-digestion Remains")
|
||||
switch(choice)
|
||||
if("Cancel")
|
||||
return 0
|
||||
@@ -822,6 +823,8 @@
|
||||
if("Disallow Post-digestion Remains")
|
||||
user.digest_leave_remains = FALSE
|
||||
|
||||
message_admins("[key_name(user)] toggled their ability to leave remains to [user.digest_leave_remains] ([user ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[user.loc.];Y=[user.loc.y];Z=[user.loc.z]'>JMP</a>" : "null"])")
|
||||
|
||||
if(user.client.prefs_vr)
|
||||
user.client.prefs_vr.digest_leave_remains = user.digest_leave_remains
|
||||
|
||||
|
||||
Reference in New Issue
Block a user