Replaces BOB with a Baby Space carp + Adds Carp Slippers (#7392)

This commit is contained in:
Geeves
2019-11-15 23:53:04 +02:00
committed by Werner
parent ff41b92e97
commit fbffcdae19
11 changed files with 195 additions and 13 deletions

View File

@@ -1898,6 +1898,7 @@
#include "code\modules\mob\living\simple_animal\constructs\soulstone.dm" #include "code\modules\mob\living\simple_animal\constructs\soulstone.dm"
#include "code\modules\mob\living\simple_animal\familiars\familiars.dm" #include "code\modules\mob\living\simple_animal\familiars\familiars.dm"
#include "code\modules\mob\living\simple_animal\friendly\adhomai.dm" #include "code\modules\mob\living\simple_animal\friendly\adhomai.dm"
#include "code\modules\mob\living\simple_animal\friendly\carp.dm"
#include "code\modules\mob\living\simple_animal\friendly\cat.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm"
#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" #include "code\modules\mob\living\simple_animal\friendly\corgi.dm"
#include "code\modules\mob\living\simple_animal\friendly\crab.dm" #include "code\modules\mob\living\simple_animal\friendly\crab.dm"

View File

@@ -715,6 +715,7 @@
/obj/item/clothing/mask/pig = 0.3, /obj/item/clothing/mask/pig = 0.3,
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 0.7, /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 0.7,
/obj/item/clothing/mask/smokable/pipe/cobpipe = 0.5, /obj/item/clothing/mask/smokable/pipe/cobpipe = 0.5,
/obj/item/clothing/shoes/carp = 0.5,
/obj/item/clothing/shoes/clown_shoes = 0.1, /obj/item/clothing/shoes/clown_shoes = 0.1,
/obj/item/clothing/shoes/combat = 0.2, /obj/item/clothing/shoes/combat = 0.2,
/obj/item/clothing/shoes/cyborg = 0.4, /obj/item/clothing/shoes/cyborg = 0.4,
@@ -1081,6 +1082,7 @@
/obj/item/clothing/mask/fakemoustache = 11, /obj/item/clothing/mask/fakemoustache = 11,
/obj/item/clothing/mask/gas/clown_hat = 11, /obj/item/clothing/mask/gas/clown_hat = 11,
/obj/item/clothing/mask/gas/mime = 11, /obj/item/clothing/mask/gas/mime = 11,
/obj/item/clothing/shoes/carp = 9,
/obj/item/weapon/gun/energy/wand/toy = 5, /obj/item/weapon/gun/energy/wand/toy = 5,
/obj/item/device/binoculars = 11, /obj/item/device/binoculars = 11,
/obj/item/device/megaphone = 11, /obj/item/device/megaphone = 11,

View File

@@ -248,3 +248,14 @@
icon_state = "eelcaligae" icon_state = "eelcaligae"
armor = list(melee = 40, bullet = 0, laser = 0, energy = 15, bomb = 20, bio = 0, rad = 20) armor = list(melee = 40, bullet = 0, laser = 0, energy = 15, bomb = 20, bio = 0, rad = 20)
siemens_coefficient = 0.75 siemens_coefficient = 0.75
/obj/item/clothing/shoes/carp
name = "carp slippers"
desc = "Slippers made to look like baby carp, but on your feet! Squeeeeeee!!"
item_state = "carpslippers"
icon_state = "carpslippers"
species_restricted = null
silent = TRUE
cold_protection = FEET
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE

View File

@@ -430,6 +430,15 @@ var/list/holder_mob_icon_cache = list()
item_state = "penny" item_state = "penny"
contained_sprite = 1 contained_sprite = 1
/obj/item/weapon/holder/carp/baby
name = "baby space carp"
desc = "Awfully cute! Looks friendly!"
icon_state = "babycarp"
item_state = "babycarp"
slot_flags = SLOT_HEAD
flags_inv = HIDEEARS|BLOCKHEADHAIR // carp wings blocks stuff - geeves
w_class = 1
contained_sprite = TRUE
/obj/item/weapon/holder/borer /obj/item/weapon/holder/borer
name = "cortical borer" name = "cortical borer"

View File

@@ -0,0 +1,153 @@
/mob/living/simple_animal/carp
name = "space carp"
desc = "A domesticated, floating space carp. Careful around the teeth."
icon = 'icons/mob/npc/animal.dmi'
icon_state = "carp"
item_state = "carp"
icon_living = "carp"
icon_dead = "carp_dead"
icon_gib = "carp_gib"
icon_rest = "carp_rest"
can_nap = TRUE
speak = list("Glub!")
speak_emote = list("glubs", "glibs")
emote_hear = list("glubs","glibs")
emote_see = list("floats steadily", "inflates its gills")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat
response_help = "brushes"
response_disarm = "attempts to push"
response_harm = "injures"
gender = NEUTER
//Space carp aren't affected by atmos.
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
mob_size = 4
metabolic_factor = 0 // NEVER EAT HA HA HA - geeves
density = TRUE
pass_flags = PASSTABLE
possession_candidate = TRUE
/mob/living/simple_animal/carp/fall_impact()
src.visible_message(span("notice","\The [src] gently floats to a stop."))
return FALSE
//Basic friend AI
/mob/living/simple_animal/carp/fluff
var/mob/living/carbon/human/friend
var/befriend_job = null
/mob/living/simple_animal/carp/fluff/think()
..()
if(!stat && !buckled && (turns_since_move > 5))
walk_to(src,0)
turns_since_move = 0
handle_movement_target()
if(!movement_target && (turns_since_move > 5))
walk_to(src,0)
/mob/living/simple_animal/carp/fluff/proc/handle_movement_target()
if(!QDELETED(friend))
var/follow_dist = 5
if(friend.stat >= DEAD || friend.health <= config.health_threshold_softcrit) //danger
follow_dist = 1
else if(friend.stat || friend.health <= 50) //danger or just sleeping
follow_dist = 2
var/near_dist = max(follow_dist - 2, 1)
var/current_dist = get_dist(src, friend)
if(movement_target != friend)
if(current_dist > follow_dist && friend in oview(src))
//stop existing movement
walk_to(src,0)
turns_since_scan = 0
//walk to friend
stop_automated_movement = 1
movement_target = friend
walk_to(src, movement_target, near_dist, DS2TICKS(seek_move_delay))
//already following and close enough, stop
else if(current_dist <= near_dist)
walk_to(src,0)
movement_target = null
stop_automated_movement = 0
if(prob(10))
say("Glub!")
if(!friend || movement_target != friend)
..()
/mob/living/simple_animal/carp/fluff/verb/friend(var/mob/user)
set name = "Become Friends"
set category = "IC"
set src in view(1)
if(friend && usr == friend)
set_dir(get_dir(src, friend))
say("Glubglub!")
return
if(!(ishuman(usr) && befriend_job && usr.job == befriend_job))
to_chat(user, "<span class='notice'>[src] ignores you.</span>")
return
friend = user
set_dir(get_dir(src, friend))
say("Glubglub!")
// ENGINEERING HAS AN ACTUAL PET, WHAAAAAAAAAAAAAT? - geeves
/mob/living/simple_animal/carp/fluff/ginny
name = "Ginny"
desc = "Rough scales adorn the body of this baby space carp. She looks ready to fire up an emitter!"
icon_state = "babycarp"
item_state = "babycarp"
icon_living = "babycarp"
icon_dead = "babycarp_dead"
icon_rest = "babycarp_rest"
icon_gib = null
gender = FEMALE
emote_see = list("floats steadily", "inflates her gills")
can_nap = TRUE
mob_size = 3.5
befriend_job = "Chief Engineer"
holder_type = /obj/item/weapon/holder/carp/baby
/mob/living/simple_animal/carp/fluff/ginny/death()
.=..()
desc = "WHO KILLED GINNY?!"
/mob/living/simple_animal/carp/baby
name = "baby space carp"
desc = "Awfully cute! Looks friendly!"
icon_state = "babycarp"
item_state = "babycarp"
icon_living = "babycarp"
icon_dead = "babycarp_dead"
icon_gib = null
can_nap = TRUE
gender = NEUTER
mob_size = 3.5
holder_type = /obj/item/weapon/holder/carp/baby
/mob/living/simple_animal/carp/baby/death()
.=..()
desc = "A dead baby space carp, what a tragedy!"

View File

@@ -0,0 +1,6 @@
author: Geeves, Kyres1
delete-after: True
changes:
- rscadd: "A new mascot has been introduced to Engineering, Ginny, the baby space carp."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -3254,6 +3254,18 @@
}, },
/turf/simulated/floor/plating, /turf/simulated/floor/plating,
/area/maintenance/vault) /area/maintenance/vault)
"agd" = (
/obj/structure/window/reinforced{
icon_state = "rwindow";
dir = 4
},
/obj/machinery/door/window/brigdoor/southright{
req_access = list(56)
},
/obj/effect/decal/warning_stripes,
/mob/living/simple_animal/carp/fluff/ginny,
/turf/simulated/floor/reinforced,
/area/crew_quarters/heads/chief)
"agf" = ( "agf" = (
/obj/structure/grille, /obj/structure/grille,
/turf/simulated/floor/plating, /turf/simulated/floor/plating,
@@ -22043,18 +22055,6 @@
/obj/item/weapon/rfd/construction, /obj/item/weapon/rfd/construction,
/turf/simulated/floor/tiled, /turf/simulated/floor/tiled,
/area/crew_quarters/heads/chief) /area/crew_quarters/heads/chief)
"aMK" = (
/obj/structure/window/reinforced{
icon_state = "rwindow";
dir = 4
},
/obj/machinery/door/window/brigdoor/southright{
req_access = list(56)
},
/obj/effect/floor_decal/industrial/hatch/yellow,
/mob/living/bot/floorbot/floorbob,
/turf/simulated/floor/tiled,
/area/crew_quarters/heads/chief)
"aML" = ( "aML" = (
/obj/machinery/power/apc/high{ /obj/machinery/power/apc/high{
dir = 1; dir = 1;
@@ -87659,7 +87659,7 @@ aFC
aHC aHC
aJd aJd
vHX vHX
aMK agd
aOy aOy
aQg aQg
aRT aRT