mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-18 03:21:30 +01:00
Merge branch 'KabKebab:master' into random_junk
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
|
||||
/obj/machinery/porta_turret/fattening
|
||||
name = "Fatoray Turret"
|
||||
installation = null
|
||||
always_up = 1
|
||||
use_power = NO_POWER_USE
|
||||
has_cover = 0
|
||||
scan_range = 9
|
||||
req_access = list(ACCESS_SYNDICATE)
|
||||
mode = TURRET_LETHAL
|
||||
lethal_projectile = /obj/item/projectile/energy/fattening
|
||||
lethal_projectile_sound = 'sound/weapons/laser.ogg'
|
||||
icon_state = "turretCover"
|
||||
base_icon_state = "standard"
|
||||
faction = list(ROLE_SYNDICATE)
|
||||
desc = "A laser turret with calorite focusing lens."
|
||||
|
||||
/obj/machinery/porta_turret/fattening/heavy
|
||||
name = "Heavy Fatoray Turret"
|
||||
lethal_projectile = /obj/item/projectile/energy/fattening/cannon
|
||||
shot_delay = 30
|
||||
|
||||
/obj/machinery/porta_turret/fattening/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES)
|
||||
|
||||
/obj/machinery/porta_turret/fattening/setup()
|
||||
return
|
||||
|
||||
/obj/machinery/porta_turret/fattening/assess_perp(mob/living/carbon/human/perp)
|
||||
return 10 //fattening turrets shoot everything except the syndicate
|
||||
@@ -1,6 +1,8 @@
|
||||
/obj/item/gun/magic/wand/food
|
||||
name = "Wand of Gluttony"
|
||||
desc = "Summons delicious fattening foods"
|
||||
icon = 'GainStation13/icons/obj/magic.dmi'
|
||||
icon_state = "food_wand"
|
||||
max_charges = 15
|
||||
ammo_type = /obj/item/ammo_casing/magic/food
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/mob/living/simple_animal/hostile/feed
|
||||
var/food_per_feeding = 5
|
||||
var/food_fed = /datum/reagent/consumable/nutriment
|
||||
|
||||
/mob/living/simple_animal/hostile/feed/AttackingTarget()
|
||||
. = ..()
|
||||
var/mob/living/carbon/L = target
|
||||
if(L.client.prefs.weight_gain_weapons)
|
||||
if(L.reagents)
|
||||
if(!L.is_mouth_covered(head_only = 1))
|
||||
L.reagents.add_reagent(food_fed, food_per_feeding)
|
||||
|
||||
/mob/living/simple_animal/hostile/feed/chocolate_slime
|
||||
name = "Chocolate slime"
|
||||
desc = "It's a living blob of tasty chocolate!"
|
||||
icon = 'GainStation13/icons/mob/candymonster.dmi'
|
||||
icon_state = "a_c_slime"
|
||||
icon_living = "a_c_slime"
|
||||
icon_dead = "a_c_slime_dead"
|
||||
speak_emote = list("blorbles")
|
||||
emote_hear = list("blorbles")
|
||||
speak_chance = 5
|
||||
turns_per_move = 5
|
||||
see_in_dark = 10
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/chocolatebar = 4)
|
||||
response_help = "pets"
|
||||
response_disarm = "shoos"
|
||||
response_harm = "hits"
|
||||
maxHealth = 100
|
||||
health = 100
|
||||
obj_damage = 0
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 1
|
||||
faction = list("slime")
|
||||
pass_flags = PASSTABLE
|
||||
move_to_delay = 7
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
attacktext = "glorps"
|
||||
attack_sound = 'sound/weapons/tap.ogg'
|
||||
unique_name = 1
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
see_in_dark = 4
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
|
||||
initial_language_holder = /datum/language_holder/slime
|
||||
environment_smash = ENVIRONMENT_SMASH_STRUCTURES
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
var/charges = 3
|
||||
|
||||
/datum/species/golem/calorite //golems that heal people around them, and cook groovy food. essentially the support class of golems
|
||||
name = "Calorite Golem"
|
||||
id = "calorite golem"
|
||||
prefix = "Calorite"
|
||||
special_names = list("Callie Wright")
|
||||
info_text = "As a <span class='danger'>Calorite Golem</span>, you have all kinds of cool magical abilities that allow you to heal the wounded, make food more nourishing and boost people's speed! Unfortunately, you are also very flimsy, and can't dish out much damage with your hands."
|
||||
fixed_mut_color = "ffffff"
|
||||
limbs_id = "cal_golem" //special sprites
|
||||
attack_verb = "bop" //they don't hit too hard, so their attack verb is fittingly pretty soft
|
||||
armor = 25
|
||||
punchdamagelow = 5
|
||||
punchstunthreshold = 0 //no chance to stun
|
||||
punchdamagehigh = 5
|
||||
var/datum/action/innate/aura/heal
|
||||
var/datum/action/innate/bless/boost
|
||||
var/datum/action/innate/unburden/speed
|
||||
var/datum/action/innate/recharge/power
|
||||
|
||||
|
||||
|
||||
|
||||
/datum/species/golem/calorite/on_species_gain(mob/living/carbon/C, datum/species/old_species)
|
||||
..()
|
||||
if(ishuman(C))
|
||||
heal = new
|
||||
heal.Grant(C)
|
||||
boost = new
|
||||
boost.Grant(C)
|
||||
speed = new
|
||||
speed.Grant(C)
|
||||
power = new
|
||||
power.Grant(C)
|
||||
|
||||
/datum/species/golem/calorite/on_species_loss(mob/living/carbon/C)
|
||||
if(heal)
|
||||
heal.Remove(C)
|
||||
if(boost)
|
||||
boost.Remove(C)
|
||||
if(speed)
|
||||
speed.Remove(C)
|
||||
if(power)
|
||||
power.Remove(C)
|
||||
..()
|
||||
|
||||
/datum/action/innate/aura
|
||||
name = "Healing Pulse"
|
||||
desc = "Emit a healing pulse around yourself, curing the wounds of all around you."
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
icon_icon = 'GainStation13/icons/mob/action_icons.dmi'
|
||||
button_icon_state = "healing"
|
||||
|
||||
/datum/action/innate/unburden
|
||||
name = "Lift Burdens"
|
||||
desc = "Vitalise all those around you, giving them a boost of speed for a moment. The effects of this charm are more effective on those whom are heavily burdened"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
icon_icon = 'GainStation13/icons/mob/action_icons.dmi'
|
||||
button_icon_state = "boost"
|
||||
|
||||
/datum/action/innate/bless
|
||||
name = "Bless Food"
|
||||
desc = "infuse food near you with a fraction of your power to make it more nourishing"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
icon_icon = 'GainStation13/icons/mob/action_icons.dmi'
|
||||
button_icon_state = "cal_bless"
|
||||
|
||||
/datum/action/innate/recharge
|
||||
name = "Recharge"
|
||||
desc = "refresh and recharge your magical abilities"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
icon_icon = 'GainStation13/icons/mob/action_icons.dmi'
|
||||
button_icon_state = "cal_golem_sleepies"
|
||||
|
||||
|
||||
/datum/action/innate/recharge/Activate()
|
||||
charges = 3
|
||||
if(ishuman(owner))
|
||||
to_chat(owner, "<span class='notice'>You recharge yourself with magical energy!</span>")
|
||||
|
||||
|
||||
|
||||
/datum/action/innate/bless/Activate()
|
||||
if(charges != 0)
|
||||
charges -= 1
|
||||
if(ishuman(owner))
|
||||
to_chat(owner, "<span class='notice'>You bless the food around you!</span>")
|
||||
|
||||
for(var/obj/item/reagent_containers/food/O in view(1, owner))
|
||||
if(O.foodtype != BLESSED)
|
||||
O.reagents.add_reagent(/datum/reagent/consumable/nutriment, 10)
|
||||
O.desc += " It faintly glows with warm, orange energy..."
|
||||
O.foodtype = BLESSED
|
||||
|
||||
else
|
||||
to_chat(owner, "<span class='notice'>You need to recharge...</span>")
|
||||
|
||||
|
||||
|
||||
/datum/action/innate/unburden/Activate()
|
||||
if(charges != 0)
|
||||
charges -= 1
|
||||
if(ishuman(owner))
|
||||
to_chat(owner, "<span class='notice'>You lift the burdens of those around you!</span>")
|
||||
|
||||
for(var/mob/living/L in view(3, owner))
|
||||
if(iscarbon(L))
|
||||
if(!HAS_TRAIT(L, TRAIT_GOTTAGOFAST))
|
||||
L.reagents.add_reagent(/datum/reagent/consumable/caloriteblessing, 5)
|
||||
|
||||
else
|
||||
to_chat(owner, "<span class='notice'>You need to recharge...</span>")
|
||||
|
||||
|
||||
|
||||
|
||||
/datum/action/innate/aura/Activate()
|
||||
if(charges != 0)
|
||||
charges -= 1
|
||||
if(ishuman(owner))
|
||||
to_chat(owner, "<span class='notice'>You heal those around you!</span>")
|
||||
|
||||
for(var/mob/living/L in view(3, owner))
|
||||
if(L.health < L.maxHealth)
|
||||
new /obj/effect/temp_visual/heal(get_turf(L), "#375637")
|
||||
if(iscarbon(L))
|
||||
L.adjustBruteLoss(-3)
|
||||
L.adjustFireLoss(-3)
|
||||
L.adjustToxLoss(-3, forced = TRUE) //Because Slime People are people too
|
||||
L.adjustOxyLoss(-3)
|
||||
// L.adjustStaminaLoss(-3)
|
||||
// L.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3)
|
||||
L.adjustCloneLoss(-1) //Becasue apparently clone damage is the bastion of all health
|
||||
// else if(issilicon(L))
|
||||
// L.adjustBruteLoss(-3)
|
||||
// L.adjustFireLoss(-3)
|
||||
else if(isanimal(L))
|
||||
var/mob/living/simple_animal/SM = L
|
||||
SM.adjustHealth(-3, forced = TRUE)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,18 @@
|
||||
if ((pref_toggle == 0) || (M.client && M.client.prefs.cit_toggles & pref_toggle))
|
||||
M.playsound_local(source, noise_name, 50, 1, S = noise)
|
||||
|
||||
/datum/emote/living/proc/reduce_fullness(var/mob/living/user, fullness_amount) // fullness_amount should be between 5 and 20 for balance and below 80 for functionality
|
||||
if(!ishuman(user))
|
||||
return FALSE
|
||||
|
||||
var/mob/living/N = user
|
||||
if(N.fullness >= FULLNESS_LEVEL_BLOATED && N.fullness_reducion_timer + FULLNESS_REDUCTION_COOLDOWN < world.time)
|
||||
N.fullness -= fullness_amount
|
||||
if(fullness_amount <= 5)
|
||||
to_chat(N, "You felt that make some space")
|
||||
if(fullness_amount > 5)
|
||||
to_chat(N, "You felt that make a lot of space")
|
||||
|
||||
/datum/emote/living/belch
|
||||
key = "belch"
|
||||
key_third_person = "belches loudly"
|
||||
@@ -22,6 +34,7 @@
|
||||
make_noise(user, "belch", BURPING_NOISES)
|
||||
|
||||
. = ..()
|
||||
reduce_fullness(user, rand(6,12))
|
||||
|
||||
/datum/emote/living/brap
|
||||
key = "brap"
|
||||
@@ -39,6 +52,7 @@
|
||||
make_noise(user, "brap", FARTING_NOISES)
|
||||
|
||||
. = ..()
|
||||
reduce_fullness(user, rand(6,12))
|
||||
|
||||
/datum/emote/living/burp
|
||||
key = "burp"
|
||||
@@ -53,6 +67,7 @@
|
||||
make_noise(user, "burp", BURPING_NOISES)
|
||||
|
||||
. = ..()
|
||||
reduce_fullness(user, rand(4,8))
|
||||
|
||||
/datum/emote/living/fart
|
||||
key = "fart"
|
||||
@@ -68,6 +83,7 @@
|
||||
make_noise(user, "fart", FARTING_NOISES)
|
||||
|
||||
. = ..()
|
||||
reduce_fullness(user, rand(4,8))
|
||||
|
||||
/datum/emote/living/gurgle
|
||||
key = "gurgle"
|
||||
@@ -97,3 +113,14 @@
|
||||
make_noise(user, "burunyu", 0)
|
||||
|
||||
. = ..()
|
||||
|
||||
/datum/emote/living/bellyrub
|
||||
key = "bellyrub"
|
||||
key_third_person = "bellyrubs"
|
||||
message = "rubs their belly"
|
||||
|
||||
/datum/emote/living/bellyrub/run_emote(mob/living/user, params)
|
||||
if(!ishuman(user))
|
||||
return FALSE
|
||||
. = ..()
|
||||
reduce_fullness(user, rand(4,16))
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
/datum/reagent/consumable/extilphite
|
||||
name = "Extilphite"
|
||||
description = "A very useful chemical that helps soothe bloated stomachs."
|
||||
color = "#2aed96"
|
||||
color = "#2aed96"
|
||||
reagent_state = LIQUID
|
||||
taste_description = "smoothness"
|
||||
metabolization_rate = 0.8 * REAGENTS_METABOLISM
|
||||
@@ -75,3 +75,21 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
// calorite blessing chem, used in the golem ability
|
||||
|
||||
/datum/reagent/consumable/caloriteblessing
|
||||
name = "Calorite blessing"
|
||||
description = "A strange, viscous liquid derived from calorite. It is said to have physically enhancing properties surprisingly unrelated to weight gain when consumed"
|
||||
color = "#eb6e00"
|
||||
reagent_state = LIQUID
|
||||
taste_description = "sweet salvation"
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
/datum/reagent/consumable/caloriteblessing/on_mob_metabolize(mob/living/L)
|
||||
..()
|
||||
ADD_TRAIT(L, TRAIT_GOTTAGOFAST, type)
|
||||
|
||||
|
||||
/datum/reagent/consumable/caloriteblessing/on_mob_end_metabolize(mob/living/L)
|
||||
REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, type)
|
||||
..()
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
name = "extilphite"
|
||||
id = /datum/reagent/consumable/extilphite
|
||||
results = list(/datum/reagent/consumable/extilphite = 3)
|
||||
required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/sodium = 2, /datum/reagent/carbon = 2)
|
||||
required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/hydrogen = 2, /datum/reagent/carbon = 2)
|
||||
|
||||
Reference in New Issue
Block a user