mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Fixes file discrepancy for autolathe ammo recipies
This commit is contained in:
@@ -32,3 +32,21 @@
|
|||||||
name = "magazine (.44 rubber)"
|
name = "magazine (.44 rubber)"
|
||||||
path =/obj/item/ammo_magazine/m44/rubber
|
path =/obj/item/ammo_magazine/m44/rubber
|
||||||
hidden = 1
|
hidden = 1
|
||||||
|
|
||||||
|
/datum/category_item/autolathe/arms/classic_smg_9mm
|
||||||
|
name = "SMG magazine (9mm)"
|
||||||
|
path = /obj/item/ammo_magazine/m9mml
|
||||||
|
hidden = 1
|
||||||
|
/* De-coded?
|
||||||
|
/datum/category_item/autolathe/arms/classic_smg_9mmr
|
||||||
|
name = "SMG magazine (9mm rubber)"
|
||||||
|
path = /obj/item/ammo_magazine/m9mml/rubber
|
||||||
|
|
||||||
|
/datum/category_item/autolathe/arms/classic_smg_9mmp
|
||||||
|
name = "SMG magazine (9mm practice)"
|
||||||
|
path = /obj/item/ammo_magazine/m9mml/practice
|
||||||
|
|
||||||
|
/datum/category_item/autolathe/arms/classic_smg_9mmf
|
||||||
|
name = "SMG magazine (9mm flash)"
|
||||||
|
path = /obj/item/ammo_magazine/m9mml/flash
|
||||||
|
*/
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
/datum/category_item/autolathe/arms/classic_smg_9mm
|
|
||||||
name = "SMG magazine (9mm)"
|
|
||||||
path = /obj/item/ammo_magazine/m9mml
|
|
||||||
hidden = 1
|
|
||||||
/* De-coded?
|
|
||||||
/datum/category_item/autolathe/arms/classic_smg_9mmr
|
|
||||||
name = "SMG magazine (9mm rubber)"
|
|
||||||
path = /obj/item/ammo_magazine/m9mml/rubber
|
|
||||||
|
|
||||||
/datum/category_item/autolathe/arms/classic_smg_9mmp
|
|
||||||
name = "SMG magazine (9mm practice)"
|
|
||||||
path = /obj/item/ammo_magazine/m9mml/practice
|
|
||||||
|
|
||||||
/datum/category_item/autolathe/arms/classic_smg_9mmf
|
|
||||||
name = "SMG magazine (9mm flash)"
|
|
||||||
path = /obj/item/ammo_magazine/m9mml/flash
|
|
||||||
*/
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#define AB_SHIFT_NONE 0
|
||||||
|
#define AB_SHIFT_PASSIVE 1
|
||||||
|
#define AB_SHIFT_ACTIVE 2
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
/mob/living/simple_mob/vore/demon
|
||||||
|
name = "Rift Walker"
|
||||||
|
desc = "A large bipedal creature, body a mix of dark fur and scales. Marks on the creatures body pulse slowly with red light"
|
||||||
|
|
||||||
|
icon_state = "boxfox"
|
||||||
|
icon_living = "boxfox"
|
||||||
|
icon_dead = "boxfox_dead"
|
||||||
|
icon_rest = "boxfox_rest"
|
||||||
|
icon = 'icons/mob/demon_vr.dmi'
|
||||||
|
|
||||||
|
faction = "demon"
|
||||||
|
maxHealth = 30
|
||||||
|
health = 30
|
||||||
|
movement_cooldown = 0
|
||||||
|
|
||||||
|
min_oxy = 0
|
||||||
|
max_oxy = 0
|
||||||
|
min_tox = 0
|
||||||
|
max_tox = 0
|
||||||
|
min_co2 = 0
|
||||||
|
max_co2 = 0
|
||||||
|
min_n2 = 0
|
||||||
|
max_n2 = 0
|
||||||
|
minbodytemp = 0
|
||||||
|
maxbodytemp = INFINITY
|
||||||
|
|
||||||
|
response_help = "touches"
|
||||||
|
response_disarm = "pushes"
|
||||||
|
response_harm = "hits"
|
||||||
|
|
||||||
|
melee_damage_lower = 3
|
||||||
|
melee_damage_upper = 1
|
||||||
|
attacktext = list("clawed")
|
||||||
|
|
||||||
|
vore_active = TRUE
|
||||||
|
vore_icons = SA_ICON_LIVING
|
||||||
|
|
||||||
|
var/shifted_out = FALSE
|
||||||
|
var/shift_state = AB_SHIFT_NONE
|
||||||
|
var/last_shift = 0
|
||||||
|
var/is_shifting = FALSE
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/init_vore()
|
||||||
|
..()
|
||||||
|
var/obj/belly/B = vore_selected
|
||||||
|
B.name = "Stomach"
|
||||||
|
B.desc = "You slide down the slick, slippery gullet of the creature. It's warm, and the air is thick. You can feel the doughy walls of the creatures gut push and knead into your form! Slimy juices coat your form stinging against your flesh as they waste no time to start digesting you. The creature's heartbeat and the gurgling of their stomach are all you can hear as your jostled about, treated like nothing but food."
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/UnarmedAttack()
|
||||||
|
if(shifted_out)
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/can_fall()
|
||||||
|
if(shifted_out)
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/zMove(direction)
|
||||||
|
if(shifted_out)
|
||||||
|
var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src)
|
||||||
|
if(destination)
|
||||||
|
forceMove(destination)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/Life()
|
||||||
|
. = ..()
|
||||||
|
if(shifted_out)
|
||||||
|
density = FALSE
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/handle_atmos()
|
||||||
|
if(shifted_out)
|
||||||
|
return
|
||||||
|
else
|
||||||
|
return .=..()
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/update_canmove()
|
||||||
|
if(is_shifting)
|
||||||
|
canmove = FALSE
|
||||||
|
return canmove
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
@@ -0,0 +1,214 @@
|
|||||||
|
/mob/living/simple_mob/vore/demon/verb/blood_crawl()
|
||||||
|
set name = "Bloodcrawl"
|
||||||
|
set desc = "Shift out of reality using blood as your gateway"
|
||||||
|
set category = "Abilities"
|
||||||
|
|
||||||
|
var/turf/T = get_turf(src)
|
||||||
|
if(!T.CanPass(src,T) || loc != T)
|
||||||
|
to_chat(src,"<span class='warning'>You can't use that here!</span>")
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
if(shift_state && shift_state == AB_SHIFT_ACTIVE)
|
||||||
|
to_chat(src,"<span class='warning'>You can't do a shift while actively shifting!</span>")
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
if(!(locate(/obj/effect/decal/cleanable/blood) in src.loc))
|
||||||
|
to_chat(src,"<span class='warning'>You need blood to shift between realities!</span>")
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
forceMove(T)
|
||||||
|
var/original_canmove = canmove
|
||||||
|
SetStunned(0)
|
||||||
|
SetWeakened(0)
|
||||||
|
if(buckled)
|
||||||
|
buckled.unbuckle_mob()
|
||||||
|
if(pulledby)
|
||||||
|
pulledby.stop_pulling()
|
||||||
|
stop_pulling()
|
||||||
|
canmove = FALSE
|
||||||
|
is_shifting = TRUE
|
||||||
|
|
||||||
|
//Shifting in
|
||||||
|
if(shifted_out)
|
||||||
|
shifted_out = FALSE
|
||||||
|
name = real_name
|
||||||
|
for(var/belly in vore_organs)
|
||||||
|
var/obj/belly/B = belly
|
||||||
|
B.escapable = initial(B.escapable)
|
||||||
|
|
||||||
|
overlays.Cut()
|
||||||
|
alpha = initial(alpha)
|
||||||
|
invisibility = initial(invisibility)
|
||||||
|
see_invisible = initial(see_invisible)
|
||||||
|
incorporeal_move = initial(incorporeal_move)
|
||||||
|
density = initial(density)
|
||||||
|
force_max_speed = initial(force_max_speed)
|
||||||
|
|
||||||
|
//Cosmetics mostly
|
||||||
|
flick("phasein",src)
|
||||||
|
custom_emote(1,"phases in!")
|
||||||
|
sleep(30) //The duration of the TP animation
|
||||||
|
is_shifting = FALSE
|
||||||
|
canmove = original_canmove
|
||||||
|
|
||||||
|
//Potential phase-in vore
|
||||||
|
if(can_be_drop_pred) //Toggleable in vore panel
|
||||||
|
var/list/potentials = living_mobs(0)
|
||||||
|
if(potentials.len)
|
||||||
|
var/mob/living/target = pick(potentials)
|
||||||
|
if(istype(target) && vore_selected)
|
||||||
|
target.forceMove(vore_selected)
|
||||||
|
to_chat(target,"<span class='warning'>\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!</span>")
|
||||||
|
|
||||||
|
// Do this after the potential vore, so we get the belly
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
shift_state = AB_SHIFT_NONE
|
||||||
|
|
||||||
|
/*
|
||||||
|
//Affect nearby lights
|
||||||
|
var/destroy_lights = 0
|
||||||
|
|
||||||
|
for(var/obj/machinery/light/L in machines)
|
||||||
|
if(L.z != z || get_dist(src,L) > 10)
|
||||||
|
continue
|
||||||
|
|
||||||
|
if(prob(destroy_lights))
|
||||||
|
spawn(rand(5,25))
|
||||||
|
L.broken()
|
||||||
|
else
|
||||||
|
L.flicker(10)
|
||||||
|
*/
|
||||||
|
|
||||||
|
//Shifting out
|
||||||
|
else
|
||||||
|
shifted_out = TRUE
|
||||||
|
shift_state = AB_SHIFT_PASSIVE
|
||||||
|
custom_emote(1,"phases out!")
|
||||||
|
real_name = name
|
||||||
|
name = "Something"
|
||||||
|
health = maxHealth //Fullheal
|
||||||
|
|
||||||
|
for(var/belly in vore_organs)
|
||||||
|
var/obj/belly/B = belly
|
||||||
|
B.escapable = FALSE
|
||||||
|
|
||||||
|
overlays.Cut()
|
||||||
|
flick("phaseout",src)
|
||||||
|
sleep(30)
|
||||||
|
invisibility = INVISIBILITY_LEVEL_TWO
|
||||||
|
see_invisible = INVISIBILITY_LEVEL_TWO
|
||||||
|
update_icon()
|
||||||
|
alpha = 127
|
||||||
|
|
||||||
|
is_shifting = FALSE
|
||||||
|
canmove = original_canmove
|
||||||
|
incorporeal_move = TRUE
|
||||||
|
density = FALSE
|
||||||
|
force_max_speed = TRUE
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/verb/phase_shift()
|
||||||
|
set name = "Phase Shift"
|
||||||
|
set desc = "Shift out of reality temporarily"
|
||||||
|
set category = "Abilities"
|
||||||
|
|
||||||
|
|
||||||
|
var/turf/T = get_turf(src)
|
||||||
|
|
||||||
|
if(shift_state && shift_state == AB_SHIFT_PASSIVE)
|
||||||
|
to_chat(src,"<span class='warning'>You can't do a shift while passively shifting!</span>")
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
if(shifted_out)
|
||||||
|
to_chat(src,"<span class='warning'>You can't return to the physical world yet!</span>")
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
if(world.time - last_shift < 600)
|
||||||
|
to_chat(src,"<span class='warning'>You can't temporarily shift so soon! You need to wait [round(((last_shift+600)-world.time)/10)] second\s!</span>")
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
shift_state = AB_SHIFT_ACTIVE
|
||||||
|
forceMove(T)
|
||||||
|
var/original_canmove = canmove
|
||||||
|
SetStunned(0)
|
||||||
|
SetWeakened(0)
|
||||||
|
if(buckled)
|
||||||
|
buckled.unbuckle_mob()
|
||||||
|
if(pulledby)
|
||||||
|
pulledby.stop_pulling()
|
||||||
|
stop_pulling()
|
||||||
|
canmove = FALSE
|
||||||
|
is_shifting = TRUE
|
||||||
|
|
||||||
|
shifted_out = TRUE
|
||||||
|
custom_emote(1,"phases out!")
|
||||||
|
real_name = name
|
||||||
|
name = "Something"
|
||||||
|
|
||||||
|
for(var/belly in vore_organs)
|
||||||
|
var/obj/belly/B = belly
|
||||||
|
B.escapable = FALSE
|
||||||
|
|
||||||
|
overlays.Cut()
|
||||||
|
flick("phaseout",src)
|
||||||
|
sleep(30)
|
||||||
|
invisibility = INVISIBILITY_LEVEL_TWO
|
||||||
|
see_invisible = INVISIBILITY_LEVEL_TWO
|
||||||
|
update_icon()
|
||||||
|
alpha = 127
|
||||||
|
|
||||||
|
is_shifting = FALSE
|
||||||
|
canmove = original_canmove
|
||||||
|
incorporeal_move = TRUE
|
||||||
|
density = FALSE
|
||||||
|
force_max_speed = TRUE
|
||||||
|
|
||||||
|
spawn(300)
|
||||||
|
shifted_out = FALSE
|
||||||
|
name = real_name
|
||||||
|
for(var/belly in vore_organs)
|
||||||
|
var/obj/belly/B = belly
|
||||||
|
B.escapable = initial(B.escapable)
|
||||||
|
|
||||||
|
overlays.Cut()
|
||||||
|
alpha = initial(alpha)
|
||||||
|
invisibility = initial(invisibility)
|
||||||
|
see_invisible = initial(see_invisible)
|
||||||
|
incorporeal_move = initial(incorporeal_move)
|
||||||
|
density = initial(density)
|
||||||
|
force_max_speed = initial(force_max_speed)
|
||||||
|
original_canmove = canmove
|
||||||
|
canmove = FALSE
|
||||||
|
is_shifting = TRUE
|
||||||
|
|
||||||
|
//Cosmetics mostly
|
||||||
|
flick("phasein",src)
|
||||||
|
custom_emote(1,"phases in!")
|
||||||
|
sleep(30) //The duration of the TP animation
|
||||||
|
is_shifting = FALSE
|
||||||
|
canmove = original_canmove
|
||||||
|
|
||||||
|
var/turf/NT = get_turf(src)
|
||||||
|
|
||||||
|
if(!NT.CanPass(src,NT))
|
||||||
|
for(var/direction in list(1,2,4,8,5,6,9,10))
|
||||||
|
var/turf/L = get_step(NT, direction)
|
||||||
|
if(L)
|
||||||
|
if(L.CanPass(src,L))
|
||||||
|
forceMove(L)
|
||||||
|
break
|
||||||
|
|
||||||
|
//Potential phase-in vore
|
||||||
|
if(can_be_drop_pred) //Toggleable in vore panel
|
||||||
|
var/list/potentials = living_mobs(0)
|
||||||
|
if(potentials.len)
|
||||||
|
var/mob/living/target = pick(potentials)
|
||||||
|
if(istype(target) && vore_selected)
|
||||||
|
target.forceMove(vore_selected)
|
||||||
|
to_chat(target,"<span class='warning'>\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!</span>")
|
||||||
|
|
||||||
|
// Do this after the potential vore, so we get the belly
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
shift_state = AB_SHIFT_NONE
|
||||||
|
last_shift = world.time
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
/mob/living/simple_mob/vore/demon/engorge
|
||||||
|
name = "Engorge"
|
||||||
|
|
||||||
|
icon_state = "engorge"
|
||||||
|
icon_living = "engorge"
|
||||||
|
icon_dead = "engorge_dead"
|
||||||
|
icon_rest = "engorge_rest"
|
||||||
|
|
||||||
|
vore_icons = null
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/demon/zellic
|
||||||
|
name = "Zellic"
|
||||||
|
|
||||||
|
icon_state = "zellic"
|
||||||
|
icon_living = "zellic"
|
||||||
|
icon_dead = "zellic_dead"
|
||||||
|
icon_rest = null
|
||||||
|
|
||||||
|
vore_icons = null
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#undef AB_SHIFT_NONE
|
||||||
|
#undef AB_SHIFT_PASSIVE
|
||||||
|
#undef AB_SHIFT_ACTIVE
|
||||||
BIN
icons/mob/demon_vr.dmi
Normal file
BIN
icons/mob/demon_vr.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
@@ -706,7 +706,6 @@
|
|||||||
#include "code\game\machinery\alarm.dm"
|
#include "code\game\machinery\alarm.dm"
|
||||||
#include "code\game\machinery\atmo_control.dm"
|
#include "code\game\machinery\atmo_control.dm"
|
||||||
#include "code\game\machinery\autolathe.dm"
|
#include "code\game\machinery\autolathe.dm"
|
||||||
#include "code\game\machinery\autolathe_vr.dm"
|
|
||||||
#include "code\game\machinery\Beacon.dm"
|
#include "code\game\machinery\Beacon.dm"
|
||||||
#include "code\game\machinery\biogenerator.dm"
|
#include "code\game\machinery\biogenerator.dm"
|
||||||
#include "code\game\machinery\bioprinter.dm"
|
#include "code\game\machinery\bioprinter.dm"
|
||||||
@@ -2536,6 +2535,11 @@
|
|||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\wolfgirl.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\wolfgirl.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\zz_vore_overrides.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\zz_vore_overrides.dm"
|
||||||
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\_defines.dm"
|
||||||
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon.dm"
|
||||||
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon_abilities.dm"
|
||||||
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon_subtypes.dm"
|
||||||
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\~defines.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\morph\morph.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\morph\morph.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\_defines.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\_defines.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_objects.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_objects.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user