Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gondolas are now basic mobs #83451

Merged
merged 7 commits into from
May 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
/turf/open/floor/grass,
/area/ruin/space/has_grav)
"h" = (
/mob/living/simple_animal/pet/gondola,
/mob/living/basic/pet/gondola,
/turf/open/floor/grass,
/area/ruin/space/has_grav)
"i" = (
Expand Down
2 changes: 1 addition & 1 deletion _maps/deathmatch/ragin_mages.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
/area/deathmatch/teleport)
"ct" = (
/obj/structure/flora/bush/grassy/style_random,
/mob/living/simple_animal/pet/gondola{
/mob/living/basic/pet/gondola{
name = "Jommy";
faction = list("gondola", "Wizard")
},
Expand Down
2 changes: 1 addition & 1 deletion _maps/templates/lazy_templates/wizard_den.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@
/turf/open/floor/iron,
/area/centcom/wizard_station)
"AW" = (
/mob/living/simple_animal/pet/gondola{
/mob/living/basic/pet/gondola{
name = "Jommy";
faction = list("gondola", "Wizard")
},
Expand Down
2 changes: 1 addition & 1 deletion _maps/virtual_domains/gondola_asteroid.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
/turf/open/floor/grass,
/area/ruin/space/has_grav/powered/virtual_domain)
"z" = (
/mob/living/simple_animal/pet/gondola/virtual_domain,
/mob/living/basic/pet/gondola/virtual_domain,
/turf/open/floor/grass,
/area/ruin/space/has_grav/powered/virtual_domain)
"A" = (
Expand Down
1 change: 0 additions & 1 deletion code/_globalvars/lists/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ GLOBAL_LIST_INIT(abstract_mob_types, list(
/mob/living/simple_animal/hostile/mimic, // Cannot exist if spawned without being passed an item reference
/mob/living/simple_animal/hostile/retaliate,
/mob/living/simple_animal/hostile,
/mob/living/simple_animal/pet,
/mob/living/simple_animal/soulscythe, // As mimic, can't exist if spawned outside an item
/mob/living/simple_animal,
))
Expand Down
2 changes: 1 addition & 1 deletion code/datums/brain_damage/severe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
for(var/mob/M in oview(owner, check_radius))
if(!isliving(M)) //ghosts ain't people
continue
if(istype(M, /mob/living/simple_animal/pet) || istype(M, /mob/living/basic/pet) || M.ckey)
if(istype(M, /mob/living/basic/pet) || M.ckey)
return FALSE
return TRUE

Expand Down
2 changes: 1 addition & 1 deletion code/datums/diseases/transformation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@
)
stage4 = list(span_danger("You can't feel your arms. It does not bother you anymore."), span_danger("You forgive the clown for hurting you."))
stage5 = list(span_danger("You have become a Gondola."))
new_form = /mob/living/simple_animal/pet/gondola
new_form = /mob/living/basic/pet/gondola


/datum/disease/transformation/gondola/stage_act(seconds_per_tick, times_fired)
Expand Down
8 changes: 2 additions & 6 deletions code/game/machinery/washing_machine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -276,13 +276,9 @@ GLOBAL_LIST_INIT(dye_registry, list(
new /obj/item/food/meat/slab/corgi(loc)
qdel(src)

/mob/living/simple_animal/pet/machine_wash(obj/machinery/washing_machine/washer)
washer.bloody_mess = TRUE
investigate_log("has been gibbed by a washing machine.", INVESTIGATE_DEATHS)
gib()

/mob/living/basic/pet/machine_wash(obj/machinery/washing_machine/washer)
washer.bloody_mess = TRUE
investigate_log("has been gibbed by a washing machine.", INVESTIGATE_DEATHS)
gib()

/obj/item/machine_wash(obj/machinery/washing_machine/washer)
Expand Down Expand Up @@ -378,7 +374,7 @@ GLOBAL_LIST_INIT(dye_registry, list(
if(L.buckled || L.has_buckled_mobs())
return
if(state_open)
if(istype(L, /mob/living/simple_animal/pet) || istype(L, /mob/living/basic/pet))
if(istype(L, /mob/living/basic/pet))
L.forceMove(src)
update_appearance()
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@
/obj/structure/closet/crate/secure/bitrunning/encrypted/gondola
move_resist = MOVE_FORCE_STRONG

/mob/living/simple_animal/pet/gondola/virtual_domain
/mob/living/basic/pet/gondola/virtual_domain
health = 50
loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/food/meat/slab/gondola/virtual_domain = 1)
loot = list(
/obj/effect/decal/cleanable/blood/gibs = 1,
/obj/item/stack/sheet/animalhide/gondola = 1,
/obj/item/food/meat/slab/gondola/virtual_domain = 1,
)
maxHealth = 50
move_force = MOVE_FORCE_VERY_STRONG
move_resist = MOVE_FORCE_STRONG
Expand All @@ -30,4 +34,4 @@

/datum/disease/transformation/gondola/virtual_domain
stage_prob = 9
new_form = /mob/living/simple_animal/pet/gondola/virtual_domain
new_form = /mob/living/basic/pet/gondola/virtual_domain
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@

/datum/modular_mob_segment/gondolas
mobs = list(
/mob/living/simple_animal/pet/gondola,
/mob/living/basic/pet/gondola,
)

/datum/modular_mob_segment/corgis
Expand Down
80 changes: 0 additions & 80 deletions code/modules/cargo/gondolapod.dm

This file was deleted.

2 changes: 1 addition & 1 deletion code/modules/cargo/supplypod.dm
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@
qdel(src)
return
if (style == STYLE_GONDOLA) //Checks if we are supposed to be a gondola pod. If so, create a gondolapod mob, and move this pod to nullspace. I'd like to give a shout out, to my man oranges
var/mob/living/simple_animal/pet/gondola/gondolapod/benis = new(turf_underneath, src)
var/mob/living/basic/pet/gondola/gondolapod/benis = new(turf_underneath, src)
benis.contents |= contents //Move the contents of this supplypod into the gondolapod mob.
for (var/mob/living/mob_in_pod in benis.contents)
mob_in_pod.reset_perspective(null)
Expand Down
1 change: 0 additions & 1 deletion code/modules/events/ghost_role/sentience.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list(
/mob/living/basic/spider/giant/sgt_araneus,
/mob/living/simple_animal/bot/secbot/beepsky,
/mob/living/simple_animal/hostile/retaliate/goose/vomit,
/mob/living/simple_animal/pet,
)))

/datum/round_event_control/sentience
Expand Down
2 changes: 1 addition & 1 deletion code/modules/events/vent_clog.dm
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@
/mob/living/basic/mushroom,
/mob/living/basic/viscerator,
/mob/living/simple_animal/hostile/retaliate/goose, //Janitors HATE geese.
/mob/living/simple_animal/pet/gondola,
/mob/living/basic/pet/gondola,
)
return pick(mob_list)

Expand Down
1 change: 0 additions & 1 deletion code/modules/events/wizard/petsplosion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ GLOBAL_LIST_INIT(petsplosion_candidates, typecacheof(list(
/mob/living/basic/snake,
/mob/living/basic/spider/giant/sgt_araneus,
/mob/living/simple_animal/hostile/retaliate/goose/vomit,
/mob/living/simple_animal/pet,
)))

/datum/round_event_control/wizard/petsplosion //the horror
Expand Down
2 changes: 1 addition & 1 deletion code/modules/explorer_drone/loot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index())
/datum/adventure_loot_generator/pet/generate()
var/obj/item/pet_carrier/carrier = new carrier_type()
var/chosen_pet_type = pick(possible_pets)
var/mob/living/simple_animal/pet/pet = new chosen_pet_type()
var/mob/living/basic/pet/pet = new chosen_pet_type()
carrier.add_occupant(pet)
return carrier

Expand Down
2 changes: 1 addition & 1 deletion code/modules/mining/abandoned_crates.dm
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@
if(71 to 72)
new /obj/item/toy/plush/snakeplushie(src)
if(73 to 74)
new /mob/living/simple_animal/pet/gondola(src)
new /mob/living/basic/pet/gondola(src)
if(75 to 76)
new /obj/item/bikehorn/airhorn(src)
if(77 to 78)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/basic/pets/dog/corgi.dm
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@
unique_pet = TRUE
held_state = "narsian"
/// Mobs we will consume in the name of Nar'Sie
var/static/list/edible_types = list(/mob/living/simple_animal/pet, /mob/living/basic/pet)
var/static/list/edible_types = list(/mob/living/basic/pet)

/mob/living/basic/pet/dog/corgi/narsie/Initialize(mapload)
. = ..()
Expand Down
83 changes: 83 additions & 0 deletions code/modules/mob/living/basic/pets/gondolas/gondola.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#define GONDOLA_HEIGHT pick(list("gondola_body_long", "gondola_body_medium", "gondola_body_short"))
#define GONDOLA_COLOR pick(list("A87855", "915E48", "683E2C"))
#define GONDOLA_MOUSTACHE pick(list("gondola_moustache_large", "gondola_moustache_small"))
#define GONDOLA_EYES pick(list("gondola_eyes_close", "gondola_eyes_far"))

/mob/living/basic/pet/gondola
name = "gondola"
real_name = "gondola"
desc = "Gondola is the silent walker. \
Having no hands he embodies the Taoist principle of wu-wei (non-action) while his smiling \
facial expression shows his utter and complete acceptance of the world as it is. \
Its hide is extremely valuable."
icon = 'icons/mob/simple/gondolas.dmi'
icon_state = "gondola"
icon_living = "gondola"

maxHealth = 200
health = 200
faction = list(FACTION_GONDOLA)
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "bops"
response_disarm_simple = "bop"
response_harm_continuous = "kicks"
response_harm_simple = "kick"
ai_controller = /datum/ai_controller/basic_controller/gondola

//Gondolas aren't affected by cold.
unsuitable_atmos_damage = 0
basic_mob_flags = DEL_ON_DEATH

///List of loot drops on death, since it deletes itself on death (like trooper).
var/list/loot = list(
/obj/effect/decal/cleanable/blood/gibs = 1,
/obj/item/stack/sheet/animalhide/gondola = 1,
/obj/item/food/meat/slab/gondola = 1,
)

/mob/living/basic/pet/gondola/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_MUTE, INNATE_TRAIT)
AddElement(/datum/element/pet_bonus, "smiles!")
if(LAZYLEN(loot))
loot = string_list(loot)
AddElement(/datum/element/death_drops, loot)
create_gondola()

/mob/living/basic/pet/gondola/proc/create_gondola()
icon_state = null
icon_living = null
var/height = GONDOLA_HEIGHT
var/mutable_appearance/body_overlay = mutable_appearance(icon, height)
var/mutable_appearance/eyes_overlay = mutable_appearance(icon, GONDOLA_EYES)
var/mutable_appearance/moustache_overlay = mutable_appearance(icon, GONDOLA_MOUSTACHE)
body_overlay.color = ("#[GONDOLA_COLOR]")

//Offset the face to match the Gondola's height.
switch(height)
if("gondola_body_medium")
eyes_overlay.pixel_y = -4
moustache_overlay.pixel_y = -4
if("gondola_body_short")
eyes_overlay.pixel_y = -8
moustache_overlay.pixel_y = -8

cut_overlays(TRUE)
add_overlay(body_overlay)
add_overlay(eyes_overlay)
add_overlay(moustache_overlay)

/datum/ai_controller/basic_controller/gondola
blackboard = list(
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
)

ai_traits = STOP_MOVING_WHEN_PULLED
ai_movement = /datum/ai_movement/basic_avoidance
idle_behavior = /datum/idle_behavior/idle_random_walk/less_walking

#undef GONDOLA_HEIGHT
#undef GONDOLA_COLOR
#undef GONDOLA_MOUSTACHE
#undef GONDOLA_EYES
Loading
Loading