mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-25 22:28:44 +01:00
Merge pull request #2129 from BlackMajor/bigdragon
New mob: Large Dragon, and some changes.
This commit is contained in:
@@ -40,7 +40,8 @@
|
||||
"Webslinger Giant Spider" = /mob/living/simple_mob/animal/giant_spider/webslinger,
|
||||
"Frost Giant Spider" = /mob/living/simple_mob/animal/giant_spider/frost,
|
||||
"Nurse Giant Spider" = /mob/living/simple_mob/animal/giant_spider/nurse/eggless,
|
||||
"Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless
|
||||
"Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless,
|
||||
"Lesser Large Dragon" = /mob/living/simple_mob/vore/bigdragon/friendly/maintpred //CHOMPStation add.
|
||||
)
|
||||
|
||||
/obj/structure/ghost_pod/ghost_activated/maintpred/create_occupant(var/mob/M)
|
||||
|
||||
@@ -105,6 +105,10 @@
|
||||
if(src == M) //Don't eat YOURSELF dork
|
||||
//ai_log("vr/won't eat [M] because it's me!", 3) //VORESTATION AI TEMPORARY REMOVAL
|
||||
return 0
|
||||
//CHOMPSTATION add
|
||||
if(!M.devourable) //Why was there never a check for edibility to begin with
|
||||
return 0
|
||||
//CHOMPSTATION add end
|
||||
if(vore_ignores_undigestable && !M.digestable) //Don't eat people with nogurgle prefs
|
||||
//ai_log("vr/wont eat [M] because I am picky", 3) //VORESTATION AI TEMPORARY REMOVAL
|
||||
return 0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,13 +7,13 @@
|
||||
icon_dead = "leopardmander-dead"
|
||||
icon_living = "leopardmander"
|
||||
icon_state = "leopardmander"
|
||||
faction = "sif"
|
||||
faction = "neutral"
|
||||
meat_amount = 40 //I mean...
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
old_x = -48
|
||||
old_y = 0
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 15
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 25
|
||||
friendly = list("nudges", "sniffs on", "rumbles softly at", "slobberlicks")
|
||||
default_pixel_x = -48
|
||||
pixel_x = -48
|
||||
@@ -22,14 +22,11 @@
|
||||
response_disarm = "shoves"
|
||||
response_harm = "bops"
|
||||
movement_cooldown = 2
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 25 //He's a lot bigger than you! Probably! Just don't be mean to him~
|
||||
maxHealth = 1500
|
||||
attacktext = list("chomped")
|
||||
see_in_dark = 8
|
||||
minbodytemp = 0
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/retaliate
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/healbelly
|
||||
max_buckled_mobs = 1
|
||||
mount_offset_y = 32
|
||||
mount_offset_x = -16
|
||||
@@ -37,11 +34,18 @@
|
||||
buckle_movable = TRUE
|
||||
buckle_lying = FALSE
|
||||
vore_icons = SA_ICON_LIVING
|
||||
|
||||
var/last_inject = 0 //Variable which tracks venom injection frequency
|
||||
var/inject_interval = 5 MINUTES //Variable which determines time between venom injections
|
||||
var/venom_chance = 50 //Chance per hit of injecting venom
|
||||
var/venom_dose = 5 //Amount of each reagent injection
|
||||
vore_bump_chance = 50
|
||||
vore_digest_chance = 0
|
||||
vore_escape_chance = 50
|
||||
vore_pounce_chance = 100
|
||||
vore_active = 1
|
||||
vore_icons = 4
|
||||
vore_capacity = 4
|
||||
swallowTime = 100
|
||||
vore_ignores_undigestable = TRUE
|
||||
vore_default_mode = DM_HEAL
|
||||
vore_pounce_maxhealth = 125
|
||||
vore_bump_emote = "tries to snap up"
|
||||
|
||||
/datum/category_item/catalogue/fauna/leopardmander
|
||||
name = "Sivian Fauna - Va'aen Drake"
|
||||
@@ -63,46 +67,10 @@
|
||||
verbs |= /mob/living/proc/toggle_rider_reins
|
||||
movement_cooldown = 2
|
||||
|
||||
/mob/living/simple_mob/vore/leopardmander/New() //Set to max nutrition on spawn since heal belly drains nutrition to work.
|
||||
..()
|
||||
src.adjust_nutrition(src.max_nutrition)
|
||||
|
||||
/mob/living/simple_mob/vore/leopardmander/Initialize()
|
||||
..()
|
||||
src.adjust_nutrition(src.max_nutrition)
|
||||
|
||||
/mob/living/simple_mob/vore/leopardmander/apply_melee_effects(atom/A)
|
||||
if(isliving(A) && (world.time >= (last_inject + inject_interval)))
|
||||
var/mob/living/L = A
|
||||
if(L.reagents && prob(venom_chance))
|
||||
var/target_zone = pick(BP_TORSO,BP_TORSO,BP_TORSO,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_HEAD)
|
||||
if(L.can_inject(src, null, target_zone))
|
||||
last_inject = world.time
|
||||
if(!L.allowmobvore) //If we can't eat them, stop mauling them.
|
||||
ai_holder.lose_target() //Call this first so the attacks stop if the reagent proc runtimes.
|
||||
L.reagents.add_reagent("bicaridine", venom_dose) //If we can't eat them, give them some bicar to compensate for no heal belly.
|
||||
to_chat(L, "<span class='warning'>You feel a sudden warmth spreading through your wound!</span>")
|
||||
L.reagents.add_reagent("zombiepowder", venom_dose) //Paralyze and heal. Noms should follow because mob mechanics.
|
||||
L.reagents.add_reagent("myelamine", venom_dose)
|
||||
L.reagents.add_reagent("osteodaxon", venom_dose)
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_mob/vore/leopardmander
|
||||
|
||||
vore_bump_chance = 50
|
||||
vore_digest_chance = 0
|
||||
vore_escape_chance = 50
|
||||
vore_pounce_chance = 15
|
||||
vore_active = 1
|
||||
vore_icons = 4
|
||||
vore_capacity = 4
|
||||
swallowTime = 100
|
||||
vore_ignores_undigestable = TRUE
|
||||
vore_default_mode = DM_HEAL
|
||||
vore_pounce_maxhealth = 125
|
||||
vore_bump_emote = "tries to snap up"
|
||||
|
||||
/mob/living/simple_mob/vore/leopardmander/init_vore()
|
||||
if(!voremob_loaded)
|
||||
return
|
||||
@@ -144,8 +112,6 @@
|
||||
name = "blue leopardmander"
|
||||
desc = "A huge, pale blue, salamander-like drake. They are best known for their rarity, their voracity, their very potent paralyzing, yet somehow very beneficial venom, and their healing stomach. This one seems to have had a rare genetic mutation, making its skin appear blue."
|
||||
tt_desc = "Draconis Va'aen"
|
||||
faction = "sif"
|
||||
icon = 'icons/mob/vore128x64_ch.dmi'
|
||||
icon_dead = "leopardmander_blue-dead"
|
||||
icon_living = "leopardmander_blue"
|
||||
icon_state = "leopardmander_blue"
|
||||
@@ -154,8 +120,6 @@
|
||||
name = "glass-belly leopardmander"
|
||||
desc = "A huge salamander-like drake. They are best known for their rarity, their voracity, their very potent paralyzing venom, and their healing stomach. This one seems to have had a rare genetic mutation, making its entire underside somewhat translucent! A dazzling pink glow comes from within its soft, squishy underside."
|
||||
tt_desc = "Draconis Va'essa Lucent"
|
||||
faction = "sif"
|
||||
icon = 'icons/mob/vore128x64_ch.dmi'
|
||||
icon_dead = "leopardmander_exotic-dead"
|
||||
icon_living = "leopardmander_exotic"
|
||||
icon_state = "leopardmander_exotic"
|
||||
|
||||
@@ -39,6 +39,9 @@
|
||||
var/liquid_fullness4_messages = FALSE
|
||||
var/liquid_fullness5_messages = FALSE
|
||||
var/vorespawn_blacklist = FALSE
|
||||
var/autotransferchance = 0 // % Chance of prey being autotransferred to transfer location
|
||||
var/autotransferwait = 10 // Time between trying to transfer.
|
||||
var/autotransferlocation // Place to send them
|
||||
|
||||
var/list/fullness1_messages = list(
|
||||
"%pred's %belly looks empty"
|
||||
@@ -285,4 +288,18 @@
|
||||
if("full5")
|
||||
fullness5_messages = raw_list
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
/obj/belly/proc/check_autotransfer(var/prey, var/autotransferlocation)
|
||||
if(autotransferlocation && (autotransferchance > 0) && (prey in contents))
|
||||
if(prob(autotransferchance))
|
||||
var/obj/belly/dest_belly
|
||||
for(var/obj/belly/B in owner.vore_organs)
|
||||
if(B.name == autotransferlocation)
|
||||
dest_belly = B
|
||||
break
|
||||
if(dest_belly)
|
||||
transfer_contents(prey, dest_belly)
|
||||
else
|
||||
// Didn't transfer, so wait before retrying
|
||||
addtimer(CALLBACK(src, /obj/belly/.proc/check_autotransfer, prey, autotransferlocation), autotransferwait)
|
||||
@@ -270,6 +270,11 @@
|
||||
//Stop AI processing in bellies
|
||||
if(M.ai_holder)
|
||||
M.ai_holder.go_sleep()
|
||||
//CHOMPStation edit start
|
||||
if(!owner.client) //Intended for simple mobs
|
||||
if(autotransferlocation != null && autotransferchance > 0)
|
||||
addtimer(CALLBACK(src, /obj/belly/.proc/check_autotransfer, thing, autotransferlocation), autotransferwait)
|
||||
//CHOMPStation edit end
|
||||
|
||||
// Called whenever an atom leaves this belly
|
||||
/obj/belly/Exited(atom/movable/thing, atom/OldLoc)
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 463 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 566 KiB After Width: | Height: | Size: 665 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -49,6 +49,7 @@
|
||||
#include "lonewolf.dmm"
|
||||
#include "emptycabin.dmm"
|
||||
#include "dogbase.dmm"
|
||||
#include "drgnplateu.dmm"
|
||||
#endif
|
||||
|
||||
// The 'wilderness' is the endgame for Explorers. Extremely dangerous and far away from help, but with vast shinies.
|
||||
@@ -389,4 +390,10 @@
|
||||
name = "Syndi Sniper"
|
||||
desc = "Syndicate watch tower, deadly but secluded"
|
||||
mappath = 'maps/submaps/surface_submaps/wilderness/syndisniper.dmm'
|
||||
cost = 5
|
||||
cost = 5
|
||||
|
||||
/datum/map_template/surface/wilderness/deep/drgnplateu
|
||||
name = "Dragon Plateu"
|
||||
desc = "A dangerous plateu of cliffs home to a rampant gold hoarding dragon"
|
||||
mappath = 'maps/submaps/surface_submaps/wilderness/drgnplateu.dmm'
|
||||
cost = 15
|
||||
@@ -207,3 +207,7 @@
|
||||
/area/submap/SyndiSniper
|
||||
name = "POI - Syndi Sniper"
|
||||
ambience = AMBIENCE_SIF
|
||||
|
||||
/area/submap/drgnplateu
|
||||
name = "POI - Dragon Plateu"
|
||||
ambience = AMBIENCE_SIF
|
||||
Binary file not shown.
@@ -3227,6 +3227,7 @@
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes_vr.dm"
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\xenobio.dm"
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\bee.dm"
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\bigdragon_ch.dm"
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\c_pet.dm"
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\catgirl.dm"
|
||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\chungus.dm"
|
||||
|
||||
Reference in New Issue
Block a user