mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 23:48:28 +01:00
* meta resolution * emerald resolution * delta resolution * fartgas resolution * box box * stay out stay out * metastation fixes * faragus fix * delta fix * Changes to role impact on event weight * adds disaster level to the event config * weight changes and starts adding disaster level to the ui * ui fixes * adjust disaster level timing * changes disaster timing, weights, disease outbreak role requirements and weights * lots of weight an requirement adjustments * Update tear.dm * some fixes * meta changes * Starting over with farragus * Starting over in faragus * faragus changes * Update cerestation.dmm * Update cerestation.dmm * Update cerestation.dmm * Update cerestation.dmm * Update cerestation.dmm * resolving some faragus conflicts * resolve faragus conflicts * resolves delta conflicts * resolves cyberiad conflicts * resolves emerald conflicts * fixes cables in faragus * fixes meta cables * fixes delta cables * more meta fixes * more farragus cable fixes * more cable fixes * meta and faragus fixes * box and delta fixes * more mapping fixes * hopefully the last fix * Update metastation.dmm * Update metastation.dmm * fixes shorts on cyberiad cerebron and farragus * CI fixes * move new event listing to new system * Adds tracking and cost calculation for blob * finishes setting up blob event detection and costs * minor boolog corrections * fixes events being created at the wrong severity * adds ongoing cost to disease outbreak * moves terror spider event to new system * moves to component based event cost calculation * morph abductor and carps adjusted for new system * various fixes and adjusts rev event * Update revenant_spawn_event.dm * various fixes and adjusts demon incursion to the new system * adjusts some major event weights * correct wrong values of autoend on vendor uprising and rev * Update event_container.dm * more event timing adjustments * adds requirements to traders and incursion * slightly lowers requirements for biohazards * timing changes * temporarily disable loading event times from the config and increases major nothing chance * adjustments to costs and weights of various events * Update event_container.dm * additional adjustments to weights and requirements. moves rev to major * typo fix * ion storm adjustment * Update event_container.dm * more moderate changes * e * Update meteors_event.dm * removes cooldown from nothing event and changes its weight based on the number of remaining enabled events in the container * increases morph event requirements and chance of nothing moderate event * makes morph a major event * Update morph_event.dm * adds viro requirement for disease outbreak and fixes a bug with incorrect resource calculation * allows varediting extra roles for the event system for debug and testing * Adjust weights of traders and abductors and corrects wrong nominal severity for demonic incursion * Adds crew cound to rev weight * makes disasters start rolling later * reduces weight of communications blackout and increases weight of major nothing * adjusts door runtime and prisonbreak weights to make them less frequent. kudzu now scales with total crew * apc overload made less frequent * oopsy * Gives the scrubber clog event a name * fixes a type in a define name * adjusts demonic incursion weight * changes brand intelligence weight an d reduces door runtime weight * more adjustments to demon incursion. Makes additional weight from surplus roles diminish * adjustments to some minor events * Increases event length and requirements of some engineering events and lowers their weight slightly. Also increases cost of ongoing diseases events * fixes a type * Update meteors_event.dm * corrects traders nominal severity and adjusts demon weights * shifts anomaly weights down and increases costs * rebalance rod requirements * Update cerestation.dmm * moves net resource calculation to its own proc and changes the ASSIGNMENT_TOTAL macro to ASSIGNMENT_CREW. * Adds individual first run time for some events and makes majors start rolling slightly later * reduces weight of major nothing * minor reduction to rev and apc overload weight * Changes the way event weight is calculated * end time corrections for anomaly rod and meteors * slightly adjusts down the weights of nothing and some minor events * Adjusts moedrates towards about 3.5 per round and mundanes towards 8 per round * adds first run restrictions on traders and incursion and increases the cooldown time of events * resolve faragus conflicts * resolve emerald conflict * fix some faragus cabling * more cabling correction in faragus * more cable fixes * Update cerestation.dmm * remove doubled scrubber pipe on tile * reduces moderates nothing chance * slightly reduces crew requirements for disasters and also reduces crew weight for disasters * fixes meteor event not removing the alert, and makes it announce a bit later * Adds an event debugging window for real time midround event data * Revert "Adds an event debugging window for real time midround event data" This reverts commitecd99a6c9e. * Adds a resource view button to the event manager window and fixes a null in the total resource list * various bug fixes * slightly lowers chance of meteor and similar events * Slightly lowers requirement weights on disaster level events * resolves faragus conflict * changes the default power input of engineering SMES to 200kw and 80kW respectively * connects power monitoring computers to the grid that weren't * meta station elec maints improvements * adds missing power monitoring computers on box and delta * removes dirt from wall * corrects area boundry on meta * adds missing cable on box sci * removes dirt from wall on box * connects cyberiad bridge to the rest of the powernet * connects box brig to powernet * Adds catwalks to box maints * adds catwalks to meta * Adds catwalks to delta * Update deltastation.dmm * adds ability to insulate cables * Moves stations to using extra insulated cables for high power network * Removes catwalks from meta * Removes catwalks from box * Removes catwalks from delta * Delays moderates and majors more and increases disaster chance * resolves box conflicts * Update cable.dm * remove floating request console * corrects position of fire alarm and removes extra intercom on metastation * resolves faragus conflict * reduces meteor variant weights. meaty ores event now has the correct nominal severity * meaty ore weight to 8 * fixes a stray light bulb and light switch in maints as well as a doubled power * Delays meteor type events to 40 minutes at the earliest. Moves the time check to be against round time instead of world time * wires kerberos security checkpoint to the grid * Update cerestation.dmm * Removes stray extinguisher cabinet from meta station * resolves area conflict on faragus * resolves more faragus issues * fixes faragus cabling issues * Update cerestation.dmm * removes another stray fire extinguisher cabinet * insulates the APC in delta PTL room * increases pop requirement and weight for demons and increases medbay and viro weights for diseases * connect delta fore starboard solars to the high power grid instead of the low power * Update deltastation.dmm * deconflict * solves some unconnected cables * connects delta customs to network and finishes resolving conflicts * Update deltastation.dmm * adds the new cables. needs coils and mapping * moves connection perms to the heavy duty cables. toggled with engineering permission ID. box gets new cables * sorts cables on stations * faragus cable connections * cable corrections. Adds heavy duty cables to the autolathe * CI fix * more fixes and makes the new cables show up on t ray scanners * box station mapping fixes * delta mapping fixes * meta fix * Update deltastation.dmm * delta and faragus fixes * Update emeraldstation.dmm * removes APC overloard(major) from event pool * adds diagonal sprites to heavy duty cables. allows sillicons to toggle them and * Makes borg versions of the heavy duty cable coil * palete consolidation * Improves visibility of high power cables * converts shuttle event to new system * makes disaster event last run calc use round time instead of world time * fixes wrong define being used in some event requirements. further increases requirements for demons and meteors. lowers weight of major diseases * Update slaughterevent.dm * reduces cargo requirements for shuttle load event * reduces base weight of major disease event and further increases medical requirements * fixes a wrong wire under the pet store maints door in delta station * resolve mapping conflicts * Revert "resolve mapping conflicts" This reverts commit129db52501. * Revert "Merge branch 'HighPowerMaints' into event_timing" This reverts commit2594ac8928, reversing changes made toa738b5f2f2. * fixes some wonky stuff with xeno code * Adds a crew cost to diseases * makes player contribution towards events variable * changes major event weights and slightly increases demon requirements * slightly increases major disease outbreak weight * comment changes * Adds safeties to protect against null events getting into container or the active list * blob fix * Adds a confirmation to random event toggle * Adjust particulate event weight to fit the new moderate weights * Adds additional security costs to changeling and vamp * Update revenant_spawn_event.dm * uses correct path for rev event cost proc * changes some lists to alists * correctly accesses the event container list and actually uses the config for the event timing --------- Co-authored-by: FunnyMan3595 (Charlie Nolan) <funnyman3595@gmail.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
164 lines
4.7 KiB
Plaintext
164 lines
4.7 KiB
Plaintext
#define REGENERATION_DELAY 60 // After taking damage, how long it takes for automatic regeneration to begin for megacarps
|
|
|
|
/mob/living/basic/carp
|
|
name = "space carp"
|
|
desc = "A ferocious, fang-bearing creature that resembles a fish."
|
|
icon = 'icons/mob/carp.dmi'
|
|
icon_state = "base"
|
|
icon_living = "base"
|
|
icon_dead = "base_dead"
|
|
icon_gib = "carp_gib"
|
|
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
|
butcher_results = list(/obj/item/food/carpmeat = 2)
|
|
response_help_continuous = "pets"
|
|
response_help_simple = "pet"
|
|
response_disarm_continuous = "gently pushes aside"
|
|
response_disarm_simple = "gently push aside"
|
|
speed = 0
|
|
maxHealth = 25
|
|
health = 25
|
|
|
|
harm_intent_damage = 8
|
|
obj_damage = 50
|
|
melee_damage_lower = 15
|
|
melee_damage_upper = 15
|
|
melee_attack_cooldown_min = 1.5 SECONDS
|
|
melee_attack_cooldown_max = 2.5 SECONDS
|
|
environment_smash = ENVIRONMENT_SMASH_STRUCTURES
|
|
attack_verb_continuous = "bites"
|
|
attack_verb_simple = "bite"
|
|
attack_sound = 'sound/weapons/bite.ogg'
|
|
speak_emote = list("gnashes")
|
|
ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles
|
|
|
|
// Space carp aren't affected by atmos.
|
|
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
|
minimum_survivable_temperature = 0
|
|
maximum_survivable_temperature = 1500
|
|
faction = list("carp", "mining")
|
|
pressure_resistance = 200
|
|
gold_core_spawnable = HOSTILE_SPAWN
|
|
|
|
initial_traits = list(TRAIT_FLYING, TRAIT_SHOCKIMMUNE)
|
|
|
|
var/random_color = TRUE // if the carp uses random coloring
|
|
var/rarechance = 1 // chance for rare color variant
|
|
|
|
var/static/list/carp_colors = list(\
|
|
"lightpurple" = "#c3b9f1", \
|
|
"lightpink" = "#da77a8", \
|
|
"green" = "#70ff25", \
|
|
"grape" = "#df0afb", \
|
|
"swamp" = "#e5e75a", \
|
|
"turquoise" = "#04e1ed", \
|
|
"brown" = "#ca805a", \
|
|
"teal" = "#20e28e", \
|
|
"lightblue" = "#4d88cc", \
|
|
"rusty" = "#dd5f34", \
|
|
"beige" = "#bbaeaf", \
|
|
"yellow" = "#f3ca4a", \
|
|
"blue" = "#09bae1", \
|
|
"palegreen" = "#7ef099", \
|
|
)
|
|
var/static/list/carp_colors_rare = list(\
|
|
"silver" = "#fdfbf3", \
|
|
)
|
|
|
|
/mob/living/basic/carp/Initialize(mapload)
|
|
. = ..()
|
|
carp_randomify(rarechance)
|
|
AddComponent(/datum/component/aggro_emote, emote_list = list("gnashes"))
|
|
AddComponent(/datum/component/event_tracker, EVENT_CARP)
|
|
|
|
/mob/living/basic/carp/event_cost()
|
|
. = list()
|
|
if(is_station_level((get_turf(src)).z) && stat != DEAD)
|
|
return list(ASSIGNMENT_CREW = 0.1)
|
|
|
|
/mob/living/basic/carp/proc/carp_randomify(rarechance)
|
|
if(random_color)
|
|
var/our_color
|
|
if(prob(rarechance))
|
|
our_color = pick(carp_colors_rare)
|
|
add_atom_colour(carp_colors_rare[our_color], FIXED_COLOUR_PRIORITY)
|
|
else
|
|
our_color = pick(carp_colors)
|
|
add_atom_colour(carp_colors[our_color], FIXED_COLOUR_PRIORITY)
|
|
update_icon()
|
|
|
|
/mob/living/basic/carp/Process_Spacemove(movement_dir = 0, continuous_move = FALSE)
|
|
return TRUE // No drifting in space for space carp! //original comments do not steal
|
|
|
|
/mob/living/basic/carp/melee_attack(atom/target, list/modifiers, ignore_cooldown = FALSE)
|
|
. = ..()
|
|
if(. && ishuman(target))
|
|
var/mob/living/carbon/human/H = target
|
|
H.apply_damage(8, STAMINA)
|
|
|
|
/mob/living/basic/carp/death(gibbed)
|
|
. = ..()
|
|
if(!random_color || gibbed)
|
|
return
|
|
update_icon()
|
|
|
|
/mob/living/basic/carp/revive()
|
|
..()
|
|
update_icon()
|
|
|
|
/mob/living/basic/carp/update_overlays()
|
|
. = ..()
|
|
if(!random_color)
|
|
return
|
|
|
|
. += mutable_appearance(icon, "base_[stat == DEAD ? "dead_" : ""]mouth", appearance_flags = RESET_COLOR)
|
|
|
|
/mob/living/basic/carp/holocarp
|
|
icon_state = "holocarp"
|
|
icon_living = "holocarp"
|
|
maximum_survivable_temperature = INFINITY
|
|
gold_core_spawnable = NO_SPAWN
|
|
basic_mob_flags = DEL_ON_DEATH
|
|
random_color = FALSE
|
|
|
|
/mob/living/basic/carp/megacarp
|
|
icon = 'icons/mob/alienqueen.dmi'
|
|
name = "Mega Space Carp"
|
|
desc = "A ferocious, fang bearing creature that resembles a shark. This one seems especially ticked off."
|
|
icon_state = "megacarp"
|
|
icon_living = "megacarp"
|
|
icon_dead = "megacarp_dead"
|
|
icon_gib = "megacarp_gib"
|
|
maxHealth = 20
|
|
health = 20
|
|
pixel_x = -16
|
|
mob_size = MOB_SIZE_LARGE
|
|
random_color = FALSE
|
|
|
|
obj_damage = 80
|
|
melee_damage_lower = 20
|
|
melee_damage_upper = 20
|
|
|
|
var/regen_cooldown = 0
|
|
|
|
contains_xeno_organ = TRUE
|
|
surgery_container = /datum/xenobiology_surgery_container/megacarp
|
|
|
|
/mob/living/basic/carp/megacarp/Initialize(mapload)
|
|
. = ..()
|
|
name = "[pick(GLOB.megacarp_first_names)] [pick(GLOB.megacarp_last_names)]"
|
|
melee_damage_lower += rand(2, 10)
|
|
melee_damage_upper += rand(10, 20)
|
|
maxHealth += rand(30, 60)
|
|
|
|
/mob/living/basic/carp/megacarp/adjustHealth(amount, updating_health = TRUE)
|
|
. = ..()
|
|
if(.)
|
|
regen_cooldown = world.time + REGENERATION_DELAY
|
|
|
|
/mob/living/basic/carp/megacarp/Life()
|
|
..()
|
|
if(regen_cooldown < world.time)
|
|
heal_overall_damage(4)
|
|
|
|
#undef REGENERATION_DELAY
|