Merge remote-tracking branch 'remotes/origin/master' into blehh2sparkbooger

# Conflicts:
#	code/modules/mob/new_player/sprite_accessories_vr.dm
#	icons/mob/human_races/markings_vr.dmi
This commit is contained in:
Verkister
2017-07-27 02:21:53 +03:00
17 changed files with 582 additions and 362 deletions
@@ -273,6 +273,12 @@
icon_state = "shock"
ckeys_allowed = list("icowom")
/datum/sprite_accessory/ears/alurane
name = "alurane ears/hair (Pumila)"
desc = ""
icon_state = "alurane-ears"
ckeys_allowed = list("natje")
/*
////////////////////////////
/ =--------------------= /
@@ -1018,3 +1024,11 @@
icon_state = "ariana_s"
ckeys_allowed = list("liquidfirefly")
do_colouration = 0
//liquidfirefly: Ariana Scol
/datum/sprite_accessory/tail/taur/alraune
name = "Alraune (natje)"
icon_state = "alraune_s"
ani_state = "alraune_closed_s"
ckeys_allowed = list("natje")
do_colouration = 0
+22 -1
View File
@@ -30,7 +30,7 @@
var/datum/belly/transferlocation = null // Location that the prey is released if they struggle and get dropped off.
var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest.
var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_ITEMWEAK,DM_STRIPDIGEST,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB) // Possible digest modes
var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_ITEMWEAK,DM_STRIPDIGEST,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB,DM_DIGEST_NUMB) // Possible digest modes
var/tmp/list/transform_modes = list(DM_TRANSFORM_MALE,DM_TRANSFORM_FEMALE,DM_TRANSFORM_KEEP_GENDER,DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR,DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG,DM_TRANSFORM_REPLICA,DM_TRANSFORM_REPLICA_EGG,DM_TRANSFORM_KEEP_GENDER_EGG,DM_TRANSFORM_MALE_EGG,DM_TRANSFORM_FEMALE_EGG, DM_EGG)
var/tmp/mob/living/owner // The mob whose belly this is.
var/tmp/list/internal_contents = list() // People/Things you've eaten into this belly!
@@ -460,6 +460,27 @@
return
else if(prob(transferchance) && istype(transferlocation)) //Next, let's have it see if they end up getting into an even bigger mess then when they started.
var/location_found = 0
var/name_found = 0
for(var/I in owner.vore_organs)
var/datum/belly/B = owner.vore_organs[I]
if(B == transferlocation)
location_found = 1
break
if(!location_found)
for(var/I in owner.vore_organs)
var/datum/belly/B = owner.vore_organs[I]
if(B.name == transferlocation.name)
name_found = 1
transferlocation = B
break
if(!location_found && !name_found)
to_chat(owner, "<span class='warning'>Something went wrong with your belly transfer settings.</span>")
transferlocation = null
return
R << "<span class='warning'>Your attempt to escape [name] has failed and your struggles only results in you sliding into [owner]'s [transferlocation]!</span>"
owner << "<span class='warning'>Someone slid into your [transferlocation] due to their struggling inside your [name]!</span>"
transfer_contents(R, transferlocation)
+1 -1
View File
@@ -25,7 +25,7 @@
return 1
M.verbs += /mob/living/proc/insidePanel
M.appearance_flags |= PIXEL_SCALE
//M.appearance_flags |= PIXEL_SCALE
//Tries to load prefs if a client is present otherwise gives freebie stomach
if(!M.vore_organs || !M.vore_organs.len)
+3 -3
View File
@@ -453,9 +453,9 @@
if(href_list["b_mode"])
var/list/menu_list = selected.digest_modes
if(istype(usr,/mob/living/carbon/human))
var/mob/living/carbon/human/H = usr
if(H.species.vore_numbing)
menu_list += DM_DIGEST_NUMB
//var/mob/living/carbon/human/H = usr
//if(H.species.vore_numbing)
//menu_list += DM_DIGEST_NUMB
menu_list += selected.transform_modes
if(selected.digest_modes.len == 1) // Don't do anything
@@ -24,6 +24,54 @@
*/
//SpoopyLizz: Roiz Lizden
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz
name = "dinosaur winter coat"
desc = "A custom winter coat that looks rather like a dinosaur. It has a nametag that says, Roiz Lizden."
icon = 'icons/vore/custom_clothes_vr.dmi'
icon_state = "coatroiz"
item_state_slots = list(slot_r_hand_str = "coatroiz", slot_l_hand_str = "coatroiz")
icon_override = 'icons/vore/custom_clothes_vr.dmi'
item_state = "coatroiz_mob"
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz/ui_action_click()
ToggleHood_roiz()
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz/equipped(mob/user, slot)
if(slot != slot_wear_suit)
RemoveHood_roiz()
..()
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz/proc/RemoveHood_roiz()
icon_state = "coatroiz"
item_state = "coatroiz_mob"
suittoggled = 0
if(ishuman(hood.loc))
var/mob/living/carbon/H = hood.loc
H.unEquip(hood, 1)
H.update_inv_wear_suit()
hood.loc = src
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz/proc/ToggleHood_roiz()
if(!suittoggled)
if(ishuman(loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_suit != src)
H << "<span class='warning'>You must be wearing [src] to put up the hood!</span>"
return
if(H.head)
H << "<span class='warning'>You're already wearing something on your head!</span>"
return
else
H.equip_to_slot_if_possible(hood,slot_head,0,0,1)
suittoggled = 1
icon_state = "coatroiz_t"
item_state = "coatroiz_mob_t"
H.update_inv_wear_suit()
else
RemoveHood_roiz()
//ketrai:Ketrai
/obj/item/clothing/head/fluff/ketrai
name = "Pink Bear Hat"
@@ -582,7 +630,25 @@
else
return 1
//scree:Scree
//natje:Pumila
/obj/item/clothing/under/fluff/aluranevines
name = "Pumila's vines"
desc = "A wrap of green vines and colourful flowers."
icon = 'icons/vore/custom_clothes_vr.dmi'
icon_state = "alurane-vines"
icon_override = 'icons/vore/custom_clothes_vr.dmi'
item_state = "alurane-vines_mob"
item_state_slots = list(slot_r_hand_str = "alurane-vines_r", slot_l_hand_str = "alurane-vines_l")
mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0)
if(..())
if(H.ckey != "natje")
H << "<span class='warning'>Wrapping vines around yourself is a quite an... Odd idea. You decide otherwise.</span>"
return 0
else
return 1
/obj/item/clothing/under/fluff/screesuit
name = "Scree's feathers"
desc = "A mop of fluffy blue feathers, the honkmother only knows what kind of bird they originally came from."
@@ -768,6 +768,85 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
rimplant.reagents.remove_reagent(rimplant.generated_reagent, rimplant.transfer_amount)
/obj/item/weapon/implant/reagent_generator/pumila_apple
name = "apple laying implant"
desc = "This is an implant that allows the user to grow apples."
generated_reagent = "sugar" //This actually allows them to.
usable_volume = 250 //Five apples. Let's not get /too/ crazy here.
transfer_amount = 50
empty_message = list("Your have no apples on you.", "You have a distinct lack of apples..")
full_message = list("You have multiple apples on you, ready for harvest!", "There are a multitude of apples awaiting harvest on you!")
emote_descriptor = list("an apple right off of Pumila!", "a large apple off Pumila!")
var/verb_descriptor = list("grabs", "snatches", "picks")
var/self_verb_descriptor = list("grab", "snatch", "pick")
var/short_emote_descriptor = list("picks", "grabs")
self_emote_descriptor = list("grab", "pick", "snatch")
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_pumila_apple
/obj/item/weapon/implant/reagent_generator/pumila_apple/implanted(mob/living/carbon/source)
processing_objects += src
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
source.verbs |= assigned_proc
return 1
/obj/item/weapon/implanter/reagent_generator/pumila_apple
implant_type = /obj/item/weapon/implant/reagent_generator/pumila_apple
/mob/living/carbon/human/proc/use_reagent_implant_pumila_apple()
set name = "Grab Apple"
set desc = "Grab an apple off of Pumila."
set category = "Object"
set src in view(1)
//do_reagent_implant(usr)
if(!isliving(usr) || !usr.canClick())
return
if(usr.incapacitated() || usr.stat > CONSCIOUS)
return
var/obj/item/weapon/implant/reagent_generator/roiz/rimplant
for(var/I in src.contents)
if(istype(I, /obj/item/weapon/implant/reagent_generator))
rimplant = I
break
if (rimplant)
if(rimplant.reagents.total_volume <= rimplant.transfer_amount)
to_chat(src, "<span class='notice'>[pick(rimplant.empty_message)]</span>")
return
var/datum/seed/S = plant_controller.seeds["apple"] //crosses fingers.
S.harvest(usr,0,0,1)
var/index = rand(0,2)
if (usr != src)
var/emote = rimplant.emote_descriptor[index]
var/verb_desc = rimplant.verb_descriptor[index]
var/self_verb_desc = rimplant.self_verb_descriptor[index]
usr.visible_message("<span class='notice'>[usr] [verb_desc] [emote]</span>",
"<span class='notice'>You [self_verb_desc] [emote]</span>")
else
src.visible_message("<span class='notice'>[src] [pick(rimplant.short_emote_descriptor)] an apple.</span>",
"<span class='notice'>You [pick(rimplant.self_emote_descriptor)] an apple.</span>")
rimplant.reagents.remove_reagent(rimplant.generated_reagent, rimplant.transfer_amount)
/*
/obj/item/weapon/implant/reagent_generator/pumila_nectar //Bugged. Two implants at once messes things up.
generated_reagent = "honey"
usable_volume = 5000
empty_message = list("You appear to be all out of nectar", "You feel as though you are lacking a majority of your nectar.")
full_message = list("You appear to be full of nectar.", "You feel as though you are full of nectar!")
emote_descriptor = list("squeezes nectar", "extracts nectar")
self_emote_descriptor = list("squeeze", "extract")
verb_name = "Extract Honey"
verb_desc = "Obtain pumila's nectar and put it into a container!"
/obj/item/weapon/implanter/reagent_generator/pumila_nectar
implant_type = /obj/item/weapon/implant/reagent_generator/pumila_nectar
*/
//Egg item
//-------------
/obj/item/weapon/reagent_containers/food/snacks/egg/roiz