Skip to content

Commit

Permalink
Eris Spooktober update (#8526)
Browse files Browse the repository at this point in the history
* HAPPY HALLOWEEN MORTALS

* Duck-tools

* Milking fix

* Apply suggestions from code review

Co-authored-by: SirRichardFrancis <65828539+SirRichardFrancis@users.noreply.github.com>

* Optimized skeletonization

This commit introduces "Skeleton rasism" into the game

---------

Co-authored-by: SirRichardFrancis <65828539+SirRichardFrancis@users.noreply.github.com>
  • Loading branch information
AltHit and SirRichardFrancis authored Oct 1, 2024
1 parent a530407 commit ee3f5e8
Show file tree
Hide file tree
Showing 14 changed files with 48 additions and 10 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
#define GUN_UPGRADE_SILENCER "silencable"
#define GUN_UPGRADE_FORCESAFETY "safety force"
#define GUN_UPGRADE_HONK "why"
#define GUN_UPGRADE_DUCK "bonus duck"
#define GUN_UPGRADE_FULLAUTO "full auto"
#define GUN_UPGRADE_EXPLODE "self destruct"
#define GUN_UPGRADE_RIGGED "rigged"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/items_clothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
#define LOUD 0x80 // Loud as hell tools
#define HONKING 0x100 // Honking tools
#define MOVE_NOTIFY 0x200 // Call entered_with_container() on this item when mob containing it moves
#define DUCKING 0x400 // Quacking tools

//Flags for items (equipment)
#define THICKMATERIAL 0x1 // Prevents syringes, parapens and hyposprays if equiped to slot_suit or slot_head.
Expand Down
1 change: 1 addition & 0 deletions code/datums/outfits/outfit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ var/list/outfits_decls_by_type_
H.put_in_l_hand(new l_hand(H))
if(r_hand)
H.put_in_r_hand(new r_hand(H))
H.equip_to_slot_or_store_or_drop(new /obj/item/bikehorn/rubberducky(H))

if((flags & OUTFIT_HAS_BACKPACK) && !(OUTFIT_ADJUSTMENT_SKIP_BACKPACK & equip_adjustments))
var/decl/backpack_outfit/bo
Expand Down
7 changes: 7 additions & 0 deletions code/game/machinery/doors/airlock.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,9 @@ There are 9 wires.
if (istype(T) && T.item_flags & HONKING)
playsound(loc, WORKSOUND_HONK, 70, 1, -2)

if (istype(T) && T.item_flags & DUCKING)
playsound(loc, 'sound/items/duck.ogg', 70, 1, -2)

if(closeOther != null && istype(closeOther, /obj/machinery/door/airlock/) && !closeOther.density)
closeOther.close()
return ..()
Expand Down Expand Up @@ -1232,6 +1235,10 @@ There are 9 wires.
var/obj/item/tool/T = forced
if (istype(T) && T.item_flags & HONKING)
playsound(src.loc, WORKSOUND_HONK, 70, 1, -2)

else if (istype(T) && T.item_flags & DUCKING)
playsound(loc, 'sound/items/duck.ogg', 70, 1, -2)


..()

Expand Down
4 changes: 4 additions & 0 deletions code/game/machinery/doors/holy_door.dm
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,8 @@
var/obj/item/tool/T = forced
if (istype(T) && T.item_flags & HONKING)
playsound(loc, WORKSOUND_HONK, 70, 1, -2)
else if (istype(T) && T.item_flags & DUCKING)
playsound(loc, 'sound/items/duck.ogg', 70, 1, -2)
else if (istype(T) && T.item_flags & SILENT)
playsound(loc, open_sound_unpowered, 3, 1, -5)
else if (istype(T) && T.item_flags & LOUD)
Expand Down Expand Up @@ -308,6 +310,8 @@
var/obj/item/tool/T = forced
if (istype(T) && T.item_flags & HONKING)
playsound(loc, WORKSOUND_HONK, 70, 1, -2)
else if (istype(T) && T.item_flags & DUCKING)
playsound(loc, 'sound/items/duck.ogg', 70, 1, -2)
else if (istype(T) && T.item_flags & SILENT)
playsound(loc, open_sound_unpowered, 3, 1, -5)
else if (istype(T) && T.item_flags & LOUD)
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/weapons/tools/_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,8 @@
var/soundfile
if(T && T.item_flags & HONKING)
soundfile = WORKSOUND_HONK
else if (istype(T) && T.item_flags & DUCKING)
soundfile = 'sound/items/duck.ogg'
else if(forced_sound)
soundfile = forced_sound
else
Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/items/weapons/tools/mods/_upgrades.dm
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,8 @@
G.proj_damage_adjust[PSY] += weapon_upgrades[GUN_UPGRADE_DAMAGE_PSY]
if(weapon_upgrades[GUN_UPGRADE_HONK])
G.fire_sound = 'sound/items/bikehorn.ogg'
if(weapon_upgrades[GUN_UPGRADE_DUCK])
G.fire_sound = 'sound/items/duck.ogg'
if(weapon_upgrades[GUN_UPGRADE_RIGGED])
G.rigged = TRUE
if(weapon_upgrades[GUN_UPGRADE_FOREGRIP])
Expand Down Expand Up @@ -636,6 +638,9 @@
if(weapon_upgrades[GUN_UPGRADE_HONK])
reference.Add(SPAN_WARNING("Cheers up the firing sound of the weapon."))

if(weapon_upgrades[GUN_UPGRADE_DUCK])
reference.Add(SPAN_WARNING("Blesses the firing sound of the weapon with duck magic."))

if(weapon_upgrades[GUN_UPGRADE_RIGGED])
reference.Add(SPAN_WARNING("Rigs the weapon to fire back on its user."))

Expand Down
11 changes: 11 additions & 0 deletions code/game/objects/structures/watercloset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,17 @@
icon = 'icons/obj/watercloset.dmi'
icon_state = "rubberducky"
item_state = "rubberducky"
attack_verb = list("QUACKED")

/obj/item/bikehorn/rubberducky/New()
..()
var/datum/component/item_upgrade/I = GetComponent(/datum/component/item_upgrade)
I.tool_upgrades[UPGRADE_ITEMFLAGPLUS] = DUCKING
I.weapon_upgrades[GUN_UPGRADE_DUCK] = TRUE

/obj/item/bikehorn/rubberducky/attack_self(mob/user)
playsound(loc, 'sound/items/duck.ogg', 50, 1)
add_fingerprint(user)



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
single_gib_type = /obj/effect/decal/cleanable/ash
remains_type = /obj/item/remains/human

lower_sanity_process = FALSE
// lower_sanity_process = FALSE

cold_level_1 = -1
cold_level_2 = -1
Expand Down Expand Up @@ -58,7 +58,7 @@
BP_R_LEG = new /datum/organ_description/leg/right/skeletal
)

spawn_flags = IS_RESTRICTED
// spawn_flags = IS_RESTRICTED

/datum/species/skeleton/get_random_name()
return "skeletal remains"
2 changes: 2 additions & 0 deletions code/modules/mob/new_player/new_player.dm
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,8 @@
new_character.regenerate_icons()
new_character.key = key//Manually transfer the key to log them in
new_character.client.init_verbs()
if(prob(80) && !is_neotheology_disciple(new_character))
new_character.set_species(SPECIES_SKELETON)

return new_character

Expand Down
2 changes: 1 addition & 1 deletion code/modules/organs/internal/bones.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

/obj/item/organ/internal/bone/Initialize()
. = ..()
src.transform *= 0.5 // this little trick makes bone size small while keeping detail level of 32x32 bones.
// src.transform *= 0.5 // this little trick makes bone size small while keeping detail level of 32x32 bones. WELL NOT ANYMORE >:3

/// Bones can be repaired after being destroyed. It's not ideal to have this here instead of in the parent (checking for bone efficiencies), but there are fewer corner cases this way.
/obj/item/organ/internal/bone/die()
Expand Down
14 changes: 7 additions & 7 deletions code/modules/organs/organ_description.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,42 +202,42 @@
name = "ribcage"
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal/chest

/datum/organ_description/groin/skeletal
name = "pelvis"
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal/groin

/datum/organ_description/head/skeletal
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal/head

/datum/organ_description/arm/left/skeletal
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal

/datum/organ_description/arm/right/skeletal
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal

/datum/organ_description/leg/left/skeletal
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal

/datum/organ_description/leg/right/skeletal
max_damage = 20
min_broken_damage = 5
max_volume = 1
// max_volume = 1
default_type = /obj/item/organ/external/skeletal
4 changes: 4 additions & 0 deletions code/modules/reagents/reagents/food-Drinks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,10 @@
M.heal_organ_damage(0.05 * effect_multiplier, 0)
holder.remove_reagent("capsaicin", 1 * effect_multiplier)

/datum/reagent/drink/milk/affect_blood(mob/living/carbon/M, alien, effect_multiplier)
..()
M.add_chemical_effect(CE_BONE_MEND, 100 * effect_multiplier)

/datum/reagent/drink/milk/cream
name = "Cream"
id = "cream"
Expand Down
Binary file added sound/items/duck.ogg
Binary file not shown.

0 comments on commit ee3f5e8

Please sign in to comment.