mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 20:57:23 +01:00
Adds in Throw Vore
This commit is contained in:
@@ -381,9 +381,28 @@ emp_act
|
||||
// if(buckled && buckled == AM)
|
||||
// return // Don't get hit by the thing we're buckled to.
|
||||
|
||||
//VORESTATION EDIT START - Allows for thrown vore!
|
||||
//Throwing a prey into a pred takes priority. After that it checks to see if the person being thrown is a pred.
|
||||
if(istype(AM, /mob/living))
|
||||
var/mob/living/thrown_mob = AM
|
||||
if((can_be_drop_pred && throw_vore) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred.
|
||||
vore_selected.nom_mob(thrown_mob) //Eat them!!!
|
||||
visible_message("<span class='warning'>[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!</span>")
|
||||
if(thrown_mob.loc != vore_selected)
|
||||
thrown_mob.forceMove(vore_selected) //Double check. Should never happen but...Weirder things have happened!
|
||||
add_attack_logs(thrown_mob.thrower,src,"Devoured [thrown_mob.name] via throw vore.")
|
||||
return //We can stop here. We don't need to calculate damage or anything else. They're eaten.
|
||||
else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore)) //Pred thrown into prey.
|
||||
visible_message("<span class='warning'>[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!</span>")
|
||||
thrown_mob.vore_selected.nom_mob(src) //Eat them!!!
|
||||
if(src.loc != thrown_mob.vore_selected)
|
||||
src.forceMove(thrown_mob.vore_selected) //Double check. Should never happen but...Weirder things have happened!
|
||||
add_attack_logs(thrown_mob.LAssailant,src,"Was Devoured by [thrown_mob.name] via throw vore.")
|
||||
return
|
||||
//VORESTATION EDIT END - Allows for thrown vore!
|
||||
|
||||
if(istype(AM,/obj/))
|
||||
var/obj/O = AM
|
||||
|
||||
if(in_throw_mode && speed <= THROWFORCE_SPEED_DIVISOR) //empty active hand and we're in throw mode
|
||||
if(canmove && !restrained())
|
||||
if(isturf(O.loc))
|
||||
|
||||
@@ -1088,6 +1088,7 @@
|
||||
src.inertia_dir = get_dir(target, src)
|
||||
step(src, inertia_dir)
|
||||
item.throw_at(target, throw_range, item.throw_speed, src)
|
||||
item.throwing = 1 //Small edit so thrown interactions actually work!
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
@@ -18,7 +18,12 @@
|
||||
feeding = client.prefs_vr.feeding
|
||||
can_be_drop_prey = client.prefs_vr.can_be_drop_prey
|
||||
can_be_drop_pred = client.prefs_vr.can_be_drop_pred
|
||||
<<<<<<< HEAD
|
||||
latejoin_vore = client.prefs_vr.latejoin_vore //CHOMPedit
|
||||
=======
|
||||
throw_vore = client.prefs_vr.throw_vore
|
||||
allow_inbelly_spawning = client.prefs_vr.allow_inbelly_spawning
|
||||
>>>>>>> f02c3b6163... Merge pull request #13676 from Cameron653/TONGUE_VORE
|
||||
allow_spontaneous_tf = client.prefs_vr.allow_spontaneous_tf
|
||||
digest_leave_remains = client.prefs_vr.digest_leave_remains
|
||||
allowmobvore = client.prefs_vr.allowmobvore
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
var/stumble_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway
|
||||
var/slip_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway
|
||||
var/drop_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway
|
||||
var/throw_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway
|
||||
var/can_be_drop_prey = FALSE
|
||||
var/can_be_drop_pred = FALSE
|
||||
var/allow_spontaneous_tf = FALSE // Obviously.
|
||||
@@ -280,6 +281,7 @@
|
||||
P.pickup_pref = src.pickup_pref
|
||||
P.drop_vore = src.drop_vore
|
||||
P.slip_vore = src.slip_vore
|
||||
P.throw_vore = src.throw_vore
|
||||
P.stumble_vore = src.stumble_vore
|
||||
|
||||
P.nutrition_message_visible = src.nutrition_message_visible
|
||||
@@ -333,6 +335,7 @@
|
||||
pickup_pref = P.pickup_pref
|
||||
drop_vore = P.drop_vore
|
||||
slip_vore = P.slip_vore
|
||||
throw_vore = P.throw_vore
|
||||
stumble_vore = P.stumble_vore
|
||||
|
||||
nutrition_message_visible = P.nutrition_message_visible
|
||||
@@ -1082,6 +1085,7 @@
|
||||
dispvoreprefs += "<b>Giving liquids:</b> [give_reagents ? "Enabled" : "Disabled"]<br>" //CHOMPstation edit
|
||||
dispvoreprefs += "<b>Drop Vore:</b> [drop_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Slip Vore:</b> [slip_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Throw vore:</b> [throw_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Stumble Vore:</b> [stumble_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Spontaneous transformation:</b> [allow_spontaneous_tf ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Can be stepped on/over:</b> [step_mechanics_pref ? "Allowed" : "Disallowed"]<br>"
|
||||
|
||||
@@ -59,6 +59,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
var/drop_vore = TRUE
|
||||
var/stumble_vore = TRUE
|
||||
var/slip_vore = TRUE
|
||||
var/throw_vore = TRUE
|
||||
|
||||
var/resizable = TRUE
|
||||
var/show_vore_fx = TRUE
|
||||
@@ -192,6 +193,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
belly_prefs = json_from_file["belly_prefs"]
|
||||
drop_vore = json_from_file["drop_vore"]
|
||||
slip_vore = json_from_file["slip_vore"]
|
||||
throw_vore = json_from_file["throw_vore"]
|
||||
stumble_vore = json_from_file["stumble_vore"]
|
||||
nutrition_message_visible = json_from_file["nutrition_message_visible"]
|
||||
nutrition_messages = json_from_file["nutrition_messages"]
|
||||
@@ -246,6 +248,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
drop_vore = TRUE
|
||||
if(isnull(slip_vore))
|
||||
slip_vore = TRUE
|
||||
if(isnull(throw_vore))
|
||||
throw_vore = TRUE
|
||||
if(isnull(stumble_vore))
|
||||
stumble_vore = TRUE
|
||||
if(isnull(nutrition_message_visible))
|
||||
@@ -325,6 +329,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
"drop_vore" = drop_vore,
|
||||
"slip_vore" = slip_vore,
|
||||
"stumble_vore" = stumble_vore,
|
||||
"throw_vore" = throw_vore,
|
||||
"nutrition_message_visible" = nutrition_message_visible,
|
||||
"nutrition_messages" = nutrition_messages,
|
||||
"weight_message_visible" = weight_message_visible,
|
||||
|
||||
@@ -360,6 +360,7 @@
|
||||
"drop_vore" = host.drop_vore,
|
||||
"slip_vore" = host.slip_vore,
|
||||
"stumble_vore" = host.stumble_vore,
|
||||
"throw_vore" = host.throw_vore,
|
||||
"nutrition_message_visible" = host.nutrition_message_visible,
|
||||
"nutrition_messages" = host.nutrition_messages,
|
||||
"weight_message_visible" = host.weight_message_visible,
|
||||
@@ -647,6 +648,10 @@
|
||||
host.stumble_vore = !host.stumble_vore
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_throw_vore")
|
||||
host.throw_vore = !host.throw_vore
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("switch_selective_mode_pref")
|
||||
host.selective_preference = tgui_input_list(usr, "What would you prefer happen to you with selective bellymode?","Selective Bellymode", list(DM_DEFAULT, DM_DIGEST, DM_ABSORB, DM_DRAIN))
|
||||
if(!(host.selective_preference))
|
||||
|
||||
@@ -233,6 +233,7 @@
|
||||
new_mob.drop_vore = drop_vore
|
||||
new_mob.stumble_vore = stumble_vore
|
||||
new_mob.slip_vore = slip_vore
|
||||
new_mob.throw_vore = throw_vore
|
||||
new_mob.resizable = resizable
|
||||
new_mob.show_vore_fx = show_vore_fx
|
||||
new_mob.step_mechanics_pref = step_mechanics_pref
|
||||
|
||||
@@ -1447,6 +1447,7 @@ const VoreUserPreferences = (props, context) => {
|
||||
drop_vore,
|
||||
stumble_vore,
|
||||
slip_vore,
|
||||
throw_vore,
|
||||
nutrition_message_visible,
|
||||
weight_message_visible,
|
||||
} = data.prefs;
|
||||
@@ -1611,9 +1612,30 @@ const VoreUserPreferences = (props, context) => {
|
||||
disabled: 'Stumble Vore Disabled',
|
||||
},
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
spawnbelly: {
|
||||
action: 'toggle_latejoin_vore',
|
||||
test: latejoin_vore,
|
||||
=======
|
||||
toggle_throw_vore: {
|
||||
action: 'toggle_throw_vore',
|
||||
test: throw_vore,
|
||||
tooltip: {
|
||||
main:
|
||||
'Allows for throw related spontaneous vore to occur. ' +
|
||||
' Note, you still need spontaneous vore pred and/or prey enabled.',
|
||||
enable: 'Click here to allow for throw vore.',
|
||||
disable: 'Click here to disable throw vore.',
|
||||
},
|
||||
content: {
|
||||
enabled: 'Throw Vore Enabled',
|
||||
disabled: 'Throw Vore Disabled',
|
||||
},
|
||||
},
|
||||
inbelly_spawning: {
|
||||
action: 'toggle_allow_inbelly_spawning',
|
||||
test: allow_inbelly_spawning,
|
||||
>>>>>>> f02c3b6163... Merge pull request #13676 from Cameron653/TONGUE_VORE
|
||||
tooltip: {
|
||||
main: 'Toggle late join vore spawnpoint.',
|
||||
enable: 'Click here to turn on vorish spawnpoint.',
|
||||
@@ -1864,16 +1886,28 @@ const VoreUserPreferences = (props, context) => {
|
||||
<VoreUserPreferenceItem spec={preferences.toggle_stumble_vore} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<<<<<<< HEAD
|
||||
<VoreUserPreferenceItem spec={preferences.spawnbelly} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.spawnprey} />
|
||||
=======
|
||||
<VoreUserPreferenceItem spec={preferences.toggle_throw_vore} />
|
||||
>>>>>>> f02c3b6163... Merge pull request #13676 from Cameron653/TONGUE_VORE
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.inbelly_spawning} />
|
||||
</Flex.Item>
|
||||
<<<<<<< HEAD
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.noisy_full} />
|
||||
=======
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.noisy} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.noisy_full} />
|
||||
<VoreUserPreferenceItem spec={preferences.resize} />
|
||||
>>>>>>> f02c3b6163... Merge pull request #13676 from Cameron653/TONGUE_VORE
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.resize} />
|
||||
@@ -1881,7 +1915,7 @@ const VoreUserPreferences = (props, context) => {
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.steppref} tooltipPosition="top" />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.vore_fx} tooltipPosition="top" />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
@@ -1890,7 +1924,7 @@ const VoreUserPreferences = (props, context) => {
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.pickuppref} tooltipPosition="top" />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.spontaneous_tf} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
|
||||
Reference in New Issue
Block a user