Merge remote-tracking branch 'refs/remotes/VOREStation/master'
@@ -81,7 +81,11 @@
|
||||
else
|
||||
M.forceMove(get_turf(src))
|
||||
|
||||
/obj/machinery/door/stumble_into(mob/living/M)
|
||||
/obj/machinery/door/window/stumble_into(mob/living/M)
|
||||
..()
|
||||
bumpopen(M)
|
||||
|
||||
/obj/machinery/door/airlock/stumble_into(mob/living/M)
|
||||
..()
|
||||
bumpopen(M)
|
||||
|
||||
|
||||
@@ -33,10 +33,13 @@
|
||||
/datum/gear/accessory/wallet_poly
|
||||
display_name = "wallet, polychromic"
|
||||
path = /obj/item/weapon/storage/wallet/poly
|
||||
cost = 0 //VOREStation Edit
|
||||
|
||||
|
||||
/datum/gear/accessory/wallet/womens
|
||||
display_name = "wallet, womens"
|
||||
path = /obj/item/weapon/storage/wallet/womens
|
||||
cost = 0 //VOREStation Edit
|
||||
|
||||
/datum/gear/accessory/wallet/womens/New()
|
||||
..()
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
/datum/gear/utility/implant/tracking
|
||||
display_name = "implant, tracking"
|
||||
path = /obj/item/weapon/implant/tracking/weak
|
||||
cost = 10
|
||||
cost = 0 //VOREStation Edit. Changed cost to 0
|
||||
slot = "implant"
|
||||
exploitable = 1
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
var/size_multiplier = RESIZE_NORMAL
|
||||
// Body weight stuff.
|
||||
var/weight_vr = 137 // bodyweight of character (pounds, because I'm not doing the math again -Spades)
|
||||
var/weight_gain = 100 // bodyweight of character (pounds, because I'm not doing the math again -Spades)
|
||||
var/weight_loss = 50 // bodyweight of character (pounds, because I'm not doing the math again -Spades)
|
||||
var/weight_gain = 100 // Weight gain rate.
|
||||
var/weight_loss = 50 // Weight loss rate.
|
||||
var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon. Default sharp.
|
||||
|
||||
// Definition of the stuff for Sizing
|
||||
/datum/category_item/player_setup_item/vore/size
|
||||
@@ -22,28 +23,34 @@
|
||||
S["weight_vr"] >> pref.weight_vr
|
||||
S["weight_gain"] >> pref.weight_gain
|
||||
S["weight_loss"] >> pref.weight_loss
|
||||
S["fuzzy"] >> pref.fuzzy
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/save_character(var/savefile/S)
|
||||
S["size_multiplier"] << pref.size_multiplier
|
||||
S["weight_vr"] << pref.weight_vr
|
||||
S["weight_gain"] << pref.weight_gain
|
||||
S["weight_loss"] << pref.weight_loss
|
||||
S["fuzzy"] << pref.fuzzy
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/sanitize_character()
|
||||
pref.size_multiplier = pref.size_multiplier
|
||||
pref.weight_vr = sanitize_integer(pref.weight_vr, WEIGHT_MIN, WEIGHT_MAX, initial(pref.weight_vr))
|
||||
pref.weight_gain = sanitize_integer(pref.weight_gain, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_gain))
|
||||
pref.weight_loss = sanitize_integer(pref.weight_loss, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_loss))
|
||||
pref.weight_vr = sanitize_integer(pref.weight_vr, WEIGHT_MIN, WEIGHT_MAX, initial(pref.weight_vr))
|
||||
pref.weight_gain = sanitize_integer(pref.weight_gain, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_gain))
|
||||
pref.weight_loss = sanitize_integer(pref.weight_loss, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_loss))
|
||||
pref.fuzzy = pref.fuzzy
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
character.resize(pref.size_multiplier, FALSE)
|
||||
character.weight = pref.weight_vr
|
||||
character.weight_gain = pref.weight_gain
|
||||
character.weight_loss = pref.weight_loss
|
||||
character.fuzzy = pref.fuzzy
|
||||
character.appearance_flags |= pref.fuzzy*PIXEL_SCALE
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/content(var/mob/user)
|
||||
. += "<br>"
|
||||
. += "<b>Scale:</b> <a href='?src=\ref[src];size_multiplier=1'>[round(pref.size_multiplier*100)]%</a><br>"
|
||||
. += "<b>Scaled Appearance:</b> <a [pref.fuzzy ? "" : ""] href='?src=\ref[src];toggle_fuzzy=1'><b>[pref.fuzzy ? "Sharp" : "Fuzzy"]</b></a><br>"
|
||||
. += "<br>"
|
||||
. += "<b>Relative Weight:</b> <a href='?src=\ref[src];weight=1'>[pref.weight_vr]</a><br>"
|
||||
. += "<b>Weight Gain Rate:</b> <a href='?src=\ref[src];weight_gain=1'>[pref.weight_gain]</a><br>"
|
||||
@@ -60,6 +67,10 @@
|
||||
pref.size_multiplier = (new_size/100)
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["toggle_fuzzy"])
|
||||
pref.fuzzy = pref.fuzzy ? 0 : 1;
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["weight"])
|
||||
var/new_weight = input(user, "Choose your character's relative body weight.\n\
|
||||
This measurement should be set relative to a normal 5'10'' person's body and not the actual size of your character.\n\
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04
|
||||
|
||||
/datum/event/ionstorm
|
||||
var/botEmagChance = 0.5
|
||||
var/botEmagChance = 0 //VOREStation Edit
|
||||
var/list/players = list()
|
||||
|
||||
/datum/event/ionstorm/announce()
|
||||
|
||||
@@ -386,3 +386,6 @@ datum/species/harpy
|
||||
"You feel uncomfortably warm.",
|
||||
"Your overheated skin itches."
|
||||
)
|
||||
|
||||
/datum/species/human/vatgrown
|
||||
spawn_flags = SPECIES_IS_RESTRICTED
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/mob
|
||||
var/vantag_hud = 0 // Do I have the HUD enabled?
|
||||
var/flying = 0 //Allows flight
|
||||
var/flying = 0 //Allows flight
|
||||
var/can_be_drop_prey = 0
|
||||
var/can_be_drop_pred = 1 //Mobs are pred by default.
|
||||
@@ -352,6 +352,11 @@
|
||||
"You hear something slam into \the [landing].")
|
||||
playsound(loc, "punch", 25, 1, -1)
|
||||
var/damage = 15 // Because wounds heal rather quickly, 15 should be enough to discourage jumping off but not be enough to ruin you, at least for the first time.
|
||||
var/mob/living/carbon/human/pred = src //VOREStation Edit Start
|
||||
var/belly = src.vore_selected
|
||||
var/datum/belly/belly_target = pred.vore_organs[belly]
|
||||
if(belly_target && belly_target.internal_contents.len != 0)
|
||||
damage = 5 //VOREStation Edit End
|
||||
apply_damage(rand(0, damage), BRUTE, BP_HEAD)
|
||||
apply_damage(rand(0, damage), BRUTE, BP_TORSO)
|
||||
apply_damage(rand(0, damage), BRUTE, BP_L_LEG)
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
/mob/living/handle_fall(var/turf/landing)
|
||||
var/mob/drop_mob= locate(/mob, loc)
|
||||
|
||||
if(locate(/obj/structure/stairs) in landing)
|
||||
for(var/atom/A in landing)
|
||||
if(!A.CanPass(src, src.loc, 1, 0))
|
||||
return FALSE
|
||||
Move(landing)
|
||||
return 1
|
||||
|
||||
if(drop_mob && drop_mob != src && ismob(drop_mob)) //Shitload of checks. This is because the game finds various ways to screw me over.
|
||||
drop_mob.fall_impact(src)
|
||||
|
||||
// Then call parent to have us actually fall
|
||||
return ..()
|
||||
/mob/CheckFall(var/atom/movable/falling_atom)
|
||||
return falling_atom.fall_impact(src)
|
||||
/* //Leaving this here to show my previous iterations which failed.
|
||||
/mob/living/fall_impact(var/atom/hit_atom) //This is called even when a humanoid falls. Dunno why, it just does.
|
||||
if(isliving(hit_atom)) //THIS WEAKENS THE PERSON FALLING & NOMS THE PERSON FALLEN ONTO. SRC is person fallen onto. hit_atom is the person falling. Confusing.
|
||||
var/mob/living/pred = hit_atom
|
||||
pred.visible_message("<span class='danger'>\The [pred] falls onto \the [src]! FALL IMPACT MOB</span>")
|
||||
pred.Weaken(8) //Stun the person you're dropping onto! You /are/ suffering massive damage for a single stun.
|
||||
if(isliving(hit_atom) && isliving(src))
|
||||
var/mob/living/prey = src
|
||||
if(pred.can_be_drop_pred && prey.can_be_drop_prey) //Is person falling pred & person being fallen onto prey?
|
||||
pred.feed_grabbed_to_self_falling_nom(pred,prey)
|
||||
else if(prey.can_be_drop_pred && pred.can_be_drop_prey) //Is person being fallen onto pred & person falling prey
|
||||
pred.feed_grabbed_to_self_falling_nom(prey,pred) //oh, how the tables have turned.
|
||||
*/
|
||||
/mob/zshadow/fall_impact(var/atom/hit_atom) //You actually "fall" onto their shadow, first.
|
||||
/*
|
||||
var/floor_below = src.loc.below //holy fuck
|
||||
for(var/mob/M in floor_below.contents)
|
||||
if(M && M != src) //THIS WEAKENS THE MOBS YOU'RE FALLING ONTO
|
||||
M.visible_message("<span class='danger'>\The [src] drops onto \the [M]! FALL IMPACT SHADOW WEAKEN 8</span>")
|
||||
M.Weaken(8)
|
||||
*/
|
||||
if(isliving(hit_atom)) //THIS WEAKENS THE PERSON FALLING & NOMS THE PERSON FALLEN ONTO. SRC is person fallen onto. hit_atom is the person falling. Confusing.
|
||||
var/mob/living/pred = hit_atom
|
||||
pred.visible_message("<span class='danger'>\The [hit_atom] falls onto \the [src]!</span>")
|
||||
pred.Weaken(8) //Stun the person you're dropping onto! You /are/ suffering massive damage for a single stun.
|
||||
var/mob/living/prey = src.owner //The shadow's owner
|
||||
if(isliving(prey))
|
||||
if(pred.can_be_drop_pred && prey.can_be_drop_prey) //Is person falling pred & person being fallen onto prey?
|
||||
pred.feed_grabbed_to_self_falling_nom(pred,prey)
|
||||
else if(prey.can_be_drop_pred && pred.can_be_drop_prey) //Is person being fallen onto pred & person falling prey
|
||||
pred.feed_grabbed_to_self_falling_nom(prey,pred) //oh, how the tables have turned.
|
||||
else
|
||||
prey.Weaken(8) //Just fall onto them if neither of the above apply.
|
||||
|
||||
/mob/proc/CanZPass(atom/A, direction)
|
||||
if(z == A.z) //moving FROM this turf
|
||||
return direction == UP //can't go below
|
||||
else
|
||||
if(direction == UP) //on a turf below, trying to enter
|
||||
return 0
|
||||
if(direction == DOWN) //on a turf above, trying to enter
|
||||
return 1
|
||||
@@ -468,6 +468,13 @@
|
||||
desc = ""
|
||||
icon_state = "snag-backplate"
|
||||
|
||||
/datum/sprite_accessory/wing/nevrean
|
||||
name = "nevrean wings/fantail"
|
||||
desc = ""
|
||||
icon_state = "nevrean_s"
|
||||
do_colouration = 1
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
|
||||
/*
|
||||
////////////////////////////
|
||||
/ =--------------------= /
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
owner << "<span class='notice'>" + digest_alert_owner + "</span>"
|
||||
M << "<span class='notice'>" + digest_alert_prey + "</span>"
|
||||
|
||||
owner.nutrition += 20 // so eating dead mobs gives you *something*.
|
||||
owner.nutrition += 20 // so eating dead mobs gives you *something* (that's 0.66u nutriment yo)
|
||||
if(isrobot(owner))
|
||||
s_owner = owner
|
||||
s_owner.cell.charge += 200
|
||||
@@ -101,8 +101,8 @@
|
||||
items_preserved += ID
|
||||
return
|
||||
for(var/obj/item/SubItem in T)
|
||||
if(istype(SubItem,/obj/item/weapon/reagent_containers/food/snacks))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/SF = SubItem
|
||||
if(istype(SubItem,/obj/item/weapon/reagent_containers/food))
|
||||
var/obj/item/weapon/reagent_containers/food/SF = SubItem
|
||||
if(istype(owner,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/howner = owner
|
||||
SF.reagents.trans_to_holder(howner.ingested, (SF.reagents.total_volume * 0.3), 1, 0)
|
||||
@@ -111,16 +111,16 @@
|
||||
SubItem.gurglecontaminate()
|
||||
if(istype(SubItem,/obj/item/weapon/storage))
|
||||
for(var/obj/item/SubSubItem in SubItem)
|
||||
if(istype(SubSubItem,/obj/item/weapon/reagent_containers/food/snacks))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/SSF = SubSubItem
|
||||
if(istype(SubSubItem,/obj/item/weapon/reagent_containers/food))
|
||||
var/obj/item/weapon/reagent_containers/food/SSF = SubSubItem
|
||||
if(istype(owner,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/howner = owner
|
||||
SSF.reagents.trans_to_holder(howner.ingested, (SSF.reagents.total_volume * 0.3), 1, 0)
|
||||
internal_contents -= SSF
|
||||
qdel(SSF)
|
||||
SubSubItem.gurglecontaminate()
|
||||
if(istype(T, /obj/item/weapon/reagent_containers/food/snacks)) // Weakgurgles still act on foodstuff. Hopefully your prey didn't load their bag with donk boxes.
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/F = T
|
||||
if(istype(T, /obj/item/weapon/reagent_containers/food)) // Weakgurgles still act on foodstuff. Hopefully your prey didn't load their bag with donk boxes.
|
||||
var/obj/item/weapon/reagent_containers/food/F = T
|
||||
if(istype(owner,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/howner = owner
|
||||
F.reagents.trans_to_holder(howner.reagents, (F.reagents.total_volume * 0.3), 1, 0)
|
||||
@@ -136,6 +136,9 @@
|
||||
internal_contents += M
|
||||
internal_contents -= H
|
||||
qdel(H)
|
||||
if(istype(T,/obj/item/organ))
|
||||
owner.nutrition += (66)
|
||||
qdel(T)
|
||||
else
|
||||
items_preserved += T
|
||||
T.gurglecontaminate() // Someone got gurgled in this crap. You wouldn't wear/use it unwashed. :v
|
||||
@@ -197,6 +200,9 @@
|
||||
internal_contents += M
|
||||
internal_contents -= H
|
||||
qdel(H)
|
||||
if(istype(T,/obj/item/organ))
|
||||
owner.nutrition += (66)
|
||||
qdel(T)
|
||||
else
|
||||
owner.nutrition += (1 * T.w_class)
|
||||
if(isrobot(owner))
|
||||
@@ -274,6 +280,9 @@
|
||||
internal_contents += M
|
||||
internal_contents -= H
|
||||
qdel(H)
|
||||
if(istype(T,/obj/item/organ))
|
||||
owner.nutrition += (66)
|
||||
qdel(T)
|
||||
else
|
||||
owner.nutrition += (1 * T.w_class)
|
||||
if(isrobot(owner))
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
var/noisy = 0 // Toggle audible hunger.
|
||||
var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr.
|
||||
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
|
||||
var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon.
|
||||
|
||||
//
|
||||
// Hook for generic creation of stuff on new creatures
|
||||
@@ -31,7 +32,7 @@
|
||||
return 1
|
||||
M.verbs += /mob/living/proc/insidePanel
|
||||
|
||||
M.appearance_flags |= PIXEL_SCALE
|
||||
//M.appearance_flags |= PIXEL_SCALE // Moved to 02_size.dm
|
||||
|
||||
//Tries to load prefs if a client is present otherwise gives freebie stomach
|
||||
if(!M.vore_organs || !M.vore_organs.len)
|
||||
@@ -235,6 +236,8 @@
|
||||
P.vore_taste = src.vore_taste
|
||||
P.nif_examine = src.nif_examine
|
||||
P.conceal_nif = src.conceal_nif
|
||||
P.can_be_drop_prey = src.can_be_drop_prey
|
||||
P.can_be_drop_pred = src.can_be_drop_pred
|
||||
|
||||
return 1
|
||||
|
||||
@@ -253,6 +256,8 @@
|
||||
src.vore_taste = P.vore_taste
|
||||
src.nif_examine = P.nif_examine
|
||||
src.conceal_nif = P.conceal_nif
|
||||
src.can_be_drop_prey = P.can_be_drop_prey
|
||||
src.can_be_drop_pred = P.can_be_drop_pred
|
||||
|
||||
for(var/I in P.belly_prefs)
|
||||
var/datum/belly/Bp = P.belly_prefs[I]
|
||||
@@ -511,3 +516,50 @@
|
||||
B.internal_contents += src
|
||||
return
|
||||
return
|
||||
|
||||
/mob/living/proc/feed_grabbed_to_self_falling_nom(var/mob/living/user, var/mob/living/prey)
|
||||
var/belly = user.vore_selected
|
||||
return perform_the_falling_nom(user, prey, user, belly)
|
||||
|
||||
/mob/living/proc/perform_the_falling_nom(var/mob/living/user, var/mob/living/prey, var/mob/living/pred, var/belly) //For dropnoms.
|
||||
//Sanity
|
||||
belly = pred.vore_selected
|
||||
if(!user || !prey || !pred || !belly || !(belly in pred.vore_organs))
|
||||
log_debug("[user] attempted to feed [prey] to [pred], via [belly] but it went wrong.")
|
||||
return
|
||||
|
||||
// The belly selected at the time of noms
|
||||
var/datum/belly/belly_target = pred.vore_organs[belly]
|
||||
var/success_msg = "ERROR: Vore message couldn't be created. Notify a dev. (sc)"
|
||||
|
||||
//Final distance check. Time has passed, menus have come and gone. Can't use do_after adjacent because doesn't behave for held micros
|
||||
var/user_to_pred = get_dist(get_turf(user),get_turf(pred))
|
||||
var/user_to_prey = get_dist(get_turf(user),get_turf(prey))
|
||||
|
||||
if(user_to_pred > 1 || user_to_prey > 1)
|
||||
return 0
|
||||
|
||||
// Prepare messages
|
||||
if(user == pred) //Feeding someone to yourself
|
||||
success_msg = text("<span class='warning'>[] manages to [] [] into their []!</span>",pred,lowertext(belly_target.vore_verb),prey,lowertext(belly_target.name))
|
||||
else //Feeding someone to another person. This shouldn't happen.
|
||||
success_msg = text("<span class='warning'>[] manages to make [] [] [] into their []!</span>",user,pred,lowertext(belly_target.vore_verb),prey,lowertext(belly_target.name))
|
||||
|
||||
user.visible_message(success_msg)
|
||||
if(belly_target.vore_sound)
|
||||
playsound(user, belly_target.vore_sound, 100, 1)
|
||||
|
||||
// Actually shove prey into the belly.
|
||||
belly_target.nom_mob(prey, user)
|
||||
user.update_icons()
|
||||
|
||||
// Flavor handling
|
||||
if(belly_target.can_taste && prey.get_taste_message(0))
|
||||
to_chat(belly_target.owner, "<span class='notice'>[prey] tastes of [prey.get_taste_message(0)].</span>")
|
||||
|
||||
// Inform Admins
|
||||
if (pred == user)
|
||||
msg_admin_attack("[key_name(pred)] ate [key_name(prey)] via dropnoms!. ([pred ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[pred.x];Y=[pred.y];Z=[pred.z]'>JMP</a>" : "null"])")
|
||||
else
|
||||
msg_admin_attack("[key_name(user)] forced [key_name(pred)] to eat [key_name(prey)] via dropnoms! ([pred ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[pred.x];Y=[pred.y];Z=[pred.z]'>JMP</a>" : "null"])")
|
||||
return 1
|
||||
@@ -46,6 +46,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
var/vore_taste
|
||||
var/conceal_nif
|
||||
var/nif_examine
|
||||
var/can_be_drop_prey
|
||||
var/can_be_drop_pred
|
||||
|
||||
//Mechanically required
|
||||
var/path
|
||||
@@ -107,6 +109,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
S["vore_taste"] >> vore_taste
|
||||
S["conceal_nif"] >> conceal_nif
|
||||
S["nif_examine"] >> nif_examine
|
||||
S["can_be_drop_prey"] >> can_be_drop_prey
|
||||
S["can_be_drop_pred"] >> can_be_drop_pred
|
||||
|
||||
if(isnull(digestable))
|
||||
digestable = 1
|
||||
@@ -127,5 +131,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
S["vore_taste"] << vore_taste
|
||||
S["conceal_nif"] << conceal_nif
|
||||
S["nif_examine"] << nif_examine
|
||||
S["can_be_drop_prey"] << can_be_drop_prey
|
||||
S["can_be_drop_pred"] << can_be_drop_pred
|
||||
|
||||
return 1
|
||||
|
||||
@@ -284,6 +284,9 @@
|
||||
dat += "<br><a href='?src=\ref[src];toggle_nif=1'>Set NIF concealment</a>" //These two get their own, custom row.
|
||||
dat += "<a href='?src=\ref[src];set_nif_flavor=1'>Set NIF Examine Message.</a>"
|
||||
|
||||
dat += "<br><a href='?src=\ref[src];toggle_dropnom_prey=1'>Toggle Drop-nom Prey Mode</a>" //These two get their own, custom row, too.
|
||||
dat += "<a href='?src=\ref[src];toggle_dropnom_pred=1'>Toggle Drop-nom Pred Mode</a>"
|
||||
|
||||
//Returns the dat html to the vore_look
|
||||
return dat
|
||||
|
||||
@@ -751,6 +754,26 @@
|
||||
else //Returned null
|
||||
return 0
|
||||
|
||||
if(href_list["toggle_dropnom_pred"])
|
||||
var/choice = alert(user, "You are currently [user.can_be_drop_pred ? " able to eat prey that fall from above or that you fall onto" : "not able to eat prey that fall from above or that you fall onto."]", "", "Be Pred", "Cancel", "Don't be Pred")
|
||||
switch(choice)
|
||||
if("Cancel")
|
||||
return 0
|
||||
if("Be Pred")
|
||||
user.can_be_drop_pred = 1
|
||||
if("Don't be Pred")
|
||||
user.can_be_drop_pred = 0
|
||||
|
||||
if(href_list["toggle_dropnom_prey"])
|
||||
var/choice = alert(user, "You are currently [user.can_be_drop_prey ? "able to be eaten." : "not able to be eaten."]", "", "Be Prey", "Cancel", "Don't Be Prey")
|
||||
switch(choice)
|
||||
if("Cancel")
|
||||
return 0
|
||||
if("Be Prey")
|
||||
user.can_be_drop_prey = 1
|
||||
if("Don't Be Prey")
|
||||
user.can_be_drop_prey = 0
|
||||
|
||||
if(href_list["toggledg"])
|
||||
var/choice = alert(user, "This button is for those who don't like being digested. It can make you undigestable. Don't abuse this button by toggling it back and forth to extend a scene or whatever, or you'll make the admins cry. Digesting you is currently: [user.digestable ? "Allowed" : "Prevented"]", "", "Allow Digestion", "Cancel", "Prevent Digestion")
|
||||
switch(choice)
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@@ -5598,6 +5598,8 @@
|
||||
"cdH" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/mauve/border{dir = 10},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled,/area/rnd/research)
|
||||
"cdI" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/mauve/border{dir = 6},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled,/area/rnd/research)
|
||||
"cdJ" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/beige/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/beige/bordercorner2{dir = 6},/obj/structure/sign/department/bar{pixel_x = 32},/obj/structure/flora/pottedplant/xmas,/turf/simulated/floor/tiled,/area/hallway/lower/third_south)
|
||||
"cdK" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/grass,/area/tether/surfacebase/atrium_one)
|
||||
"cdL" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/grass,/area/tether/surfacebase/atrium_one)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -5643,7 +5645,7 @@ aaaaadaadaadaadaadaadaadaadaadaadaadaadakbakbalZaiyamaambaiyamcamdagUameamfamgam
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaadaadaahaahamDamDamDamDamDamEamEamEamEamFamFamFamFamFamGamHamIahlakVakXakXakXalJakXakXakXakVakVakVakVakVakVakVakVakVakVakVaktaktamJamKamLamMalgalOalgbykahXahXahXahXahXaahaahagMbcCakCajUamOalRalSalSalSalSalSalSalSalTamOajUajVakFagMalralralralralramPamPamQamPamRamPamSamSamTalYalYalYalraahaahaahaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaadaahaahaahamUamVamWamXamUamYamZanaamUanbancandaneanfangakoakpahlakVakXalJakXakXamlamlakXakXakXakVakVakVakVakVakVakVakVakVakVaktaktanhanianjalgankalOalOalgaahaahaahaahaahaahagManlakCajUamOalRalSalSanmanmanmalSalSalTamOajUajVannagMaahaahaahalranoanoalralralralralralralralralralralralraahaahaahaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaadaahaahaahamUanpanqanramUansantanuamUanvanwanwanxanyanzaiHanAahlanBakXalaakXakXakXakXalJalJalaakVakVakVakVakVakVakVakVakVakVakVaktaktaktaktalganCanDalOalgaahaahaahaahaahaahagManEakCajUamOalRalSalTanFanFanGalRalSalTamOajUajVanHagMaahaahaahalranIalralraahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaadaahamUamUamUanJanKanLamUanManNanOamUanPbdyanRanSanTanUakoanVanWakXakXakXakXakXalJakXakXakXalaakVakVakVakVakVakVakVakVakVakVakVakVakVakVakValganXanYanZalgaahaahaahaahaahaahaoaalQaobajUamOalRalSalTanFbzAanFalRalSalTamOajUaocakFaodaoeaoeaoeaoeaofaoeaoeaoeaoeaoeaoeaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaadaahamUamUamUanJanKanLamUanManNanOamUanPbdyanRanSanTanUakoanVanWakXakXakXakXakXalJakXakXakXalaakVakVakVakVakVakVakVakVakVakVakVakVakVakVakValganXanYanZalgaahaahaahaahaahaahaoaalQaobajUamOalRalSalTcdKbzAcdLalRalSalTamOajUaocakFaodaoeaoeaoeaoeaofaoeaoeaoeaoeaoeaoeaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaadaahamUaogamUaohaoiaojamUaokaolaomamUamFamFamFamFamFaonaooaopaoqaoralJamlakXakXakXakXakXaosaotakVakVakVakVakValgalgalgalgalgalgalgalgalgalgalgalgalgaoualgalgalgalgalgalgalgagMalQakCajUamOalRalSalTanGanFanGalRalSalTamOajUajVakFaoeaovaowaoxaoyaozaoeaoAaoBaoCaoDaoeaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaahaahamUaoEaoFaoGaoHaoIaoJaoKaoLaoMamUaoNaoOaoPaoQahlaoRakoaoSahlaoTakXakXakXalJalJaoUakVakVakVakVakVakVakVakValgaoVaoWaoXalOalOaoYalOalOalOalOalOalOaoZapaapaapaapaapaapaapaapbapcakCajUamOalRalSalSaloaloaloalSalSalTamOajUajVaHgaoeapeapfapgaphapiaoeapjapkaoeaoeaoeaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
|
||||
aaaaadaadaadaadaadaadaadaadaadaadaahaahamUarsaoFaoGapmapnapoappapmaoMamUapqaprapsaptahlapuapvakpahlapwakXakXalJapxakVakVakVakVakVakVakVakVakVakValgapyalOapzapAapAapAanCanCanCanCapBapCalgapDalgalgapEapFalgalgagMapGakCajUamOalRalSalSalSalSalSalSalSalTamOajUajVapHaoeapeapIapJapKapLaoeapMapNapOaoDaoeaahapPapPapPapPapPapPapPapQapRapRapSapTapTapTapTapSapRapRapUaaa
|
||||
|
||||
@@ -1066,10 +1066,10 @@
|
||||
"uz" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor{tag = "icon-floor_dred"; icon_state = "floor_dred"},/area/syndicate_station/start)
|
||||
"uA" = (/obj/item/device/aicard,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{tag = "icon-floor_black"; icon_state = "floor_black"},/area/syndicate_station/start)
|
||||
"uB" = (/obj/effect/floor_decal/corner_steel_grid{dir = 10},/obj/effect/floor_decal/industrial/danger,/obj/machinery/door/airlock/glass_external/public{frequency = 1379; icon_state = "door_locked"; id_tag = "merc_south_airlock_outer"; locked = 1},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/floor{tag = "icon-floor_dred"; icon_state = "floor_dred"},/area/syndicate_station/start)
|
||||
"uC" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/table/rack,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/syndicate_station/start)
|
||||
"uD" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_station/start)
|
||||
"uE" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_station/start)
|
||||
"uF" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/structure/closet/syndicate,/obj/item/clothing/mask/gas/wwii,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/item/clothing/head/helmet,/obj/item/clothing/shoes/boots/jackboots,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/under/syndicate,/obj/item/clothing/gloves/black,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_station/start)
|
||||
"uG" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/syndicate_station/start)
|
||||
"uH" = (/obj/machinery/washing_machine,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_station/start)
|
||||
"uI" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_station/start)
|
||||
"uJ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_station/start)
|
||||
@@ -1187,7 +1187,7 @@ ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapap
|
||||
ahaieGeGeGeGeGaiahappEqxpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapaphbhahcdCjLhdpihfhfdCdChfpjeyunprdCprprqfhUujhWhVhXaCfkflapapapapgp
|
||||
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRqKpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapgLhYuodCdCdCdCdCdCdCdCdCdCdCdCdCdCdCdCdCdCigigigigaCfkihapapapapgp
|
||||
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapgLiiuodCdCupdCdCdCdCdCdCdCuqdCdCdCdCdCdCuqigigigigaCfkihapapapapgp
|
||||
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapikhaildCurcJuDisitdCdCituEeyuFprdCprprqfeyuGixiwizaCfkiAapapapapgp
|
||||
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapikhaildCurcJuDisitdCdCituEeyuFprdCprprqfeyuCixiwizaCfkiAapapapapgp
|
||||
ahaieGeGeGeGeGaiahappEqxpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapgLgYgMiBaCaCaCeyumdCeyaCaCaCeyuleyaCaCaCaCaCaCaCaCcJfkiAapapapgp
|
||||
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRqKpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapaCaCaCaCaCaCaCfmfydCdCiFuHeyuIusdCususuJutiGiLiLiGiPaCcJfkiAapapgp
|
||||
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapuiaCuKiQcDjccJeDexdCdCdCdCuldCdCdCdCdCdCjdiGuvuuiGjsaCaCcJfkiAapgp
|
||||
|
||||
@@ -2087,6 +2087,7 @@
|
||||
#include "code\modules\multiz\basic.dm"
|
||||
#include "code\modules\multiz\ladder_assembly_vr.dm"
|
||||
#include "code\modules\multiz\movement.dm"
|
||||
#include "code\modules\multiz\movement_vr.dm"
|
||||
#include "code\modules\multiz\open_space_controller.dm"
|
||||
#include "code\modules\multiz\pipes.dm"
|
||||
#include "code\modules\multiz\structures.dm"
|
||||
|
||||