mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-30 15:38:02 +01:00
Revert "Adds a new event - Solargrubs!"
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
/obj/effect/spider/spiderling/grub
|
||||
name = "grub larva"
|
||||
desc = "It never stays still for long."
|
||||
//M.icon = 'grub_vr.dmi'
|
||||
icon_state = "spiderling"
|
||||
|
||||
obj/effect/spider/spiderling/grub/process()
|
||||
if(amount_grown >= 100)
|
||||
var/spawn_type = /mob/living/simple_animal/retaliate/solargrub
|
||||
new spawn_type(src.loc, src)
|
||||
qdel(src)
|
||||
else
|
||||
..()
|
||||
@@ -53,8 +53,7 @@
|
||||
/mob/living/simple_animal/hostile/bear;0.5,
|
||||
/mob/living/simple_animal/hostile/bear/brown;0.5,
|
||||
/mob/living/simple_animal/hostile/carp,
|
||||
/mob/living/simple_animal/hostile/mimic,
|
||||
/mob/living/simple_animal/retaliate/solargrub)
|
||||
/mob/living/simple_animal/hostile/mimic)
|
||||
..()
|
||||
|
||||
|
||||
@@ -95,4 +94,4 @@
|
||||
icon_state = "otiecrate"
|
||||
taped = 0
|
||||
..()
|
||||
*/
|
||||
*/
|
||||
@@ -74,8 +74,6 @@
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Solar Storm", /datum/event/solar_storm, 30, list(ASSIGNMENT_ENGINEER = 40, ASSIGNMENT_SECURITY = 30), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Virology Breach", /datum/event/prison_break/virology, 0, list(ASSIGNMENT_MEDICAL = 100), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Xenobiology Breach", /datum/event/prison_break/xenobiology, 0, list(ASSIGNMENT_SCIENCE = 100), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grub Infestation", /datum/event/grub_infestation, 75, list(ASSIGNMENT_SECURITY = 50, ASSIGNMENT_ENGINEER = 50), 1),
|
||||
//Evil grubs that drain station power slightly
|
||||
)
|
||||
add_disabled_events(list(
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1),
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
/datum/event/grub_infestation
|
||||
announceWhen = 90
|
||||
var/spawncount = 1
|
||||
|
||||
|
||||
/datum/event/grub_infestation/setup()
|
||||
announceWhen = rand(announceWhen, announceWhen + 60)
|
||||
spawncount = rand(4 * severity, 6 * severity) //grub larva only have a 50% chance to grow big and strong
|
||||
sent_spiders_to_station = 0
|
||||
|
||||
/datum/event/grub_infestation/announce()
|
||||
command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg')
|
||||
|
||||
|
||||
/datum/event/grub_infestation/start()
|
||||
var/list/vents = list()
|
||||
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in world)
|
||||
if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels)
|
||||
if(temp_vent.network.normal_members.len > 50)
|
||||
vents += temp_vent
|
||||
|
||||
while((spawncount >= 1) && vents.len)
|
||||
var/obj/vent = pick(vents)
|
||||
new /obj/effect/spider/spiderling/grub(vent.loc)
|
||||
vents -= vent
|
||||
spawncount--
|
||||
@@ -1,107 +0,0 @@
|
||||
/*
|
||||
A work in progress, lore will go here later.
|
||||
List of things solar grubs should be able to do:
|
||||
|
||||
1. cool foods? (grubrings)
|
||||
2. have three stages of growth depending on time. (Or energy drained altho that seems like a hard one to code)
|
||||
3. be capable of eating people that get knocked out. (also be able to shock attackers that don’t wear insulated gloves.)
|
||||
5. ((potentially use digested people to reproduce))
|
||||
6. add glow?
|
||||
*/
|
||||
|
||||
#define SINK_POWER 1
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub
|
||||
name = "juvenile solargrub"
|
||||
desc = "A young sparkling solargrub"
|
||||
icon = 'icons/mob/vore.dmi' //all of these are placeholders
|
||||
icon_state = "solargrub"
|
||||
icon_living = "solargrub"
|
||||
icon_dead = "solargrub-dead"
|
||||
|
||||
faction = "grubs"
|
||||
maxHealth = 250 //grubs can take a lot of harm
|
||||
health = 250
|
||||
move_to_delay = 5
|
||||
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 5
|
||||
|
||||
speak_chance = 1
|
||||
emote_see = list("squelches", "squishes")
|
||||
|
||||
speed = 2
|
||||
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/grubmeat
|
||||
|
||||
response_help = "pokes"
|
||||
response_disarm = "pushes"
|
||||
response_harm = "roughly pushes"
|
||||
|
||||
// solar grubs are not 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
|
||||
|
||||
resistances = list(
|
||||
HALLOSS = 0,
|
||||
BRUTE = 1,
|
||||
BURN = 0.1,
|
||||
TOX = 0,
|
||||
OXY = 0,
|
||||
CLONE = 0
|
||||
)
|
||||
|
||||
var/poison_per_bite = 5 //grubs cause a shock when they bite someone
|
||||
var/poison_type = "shockchem"
|
||||
var/poison_chance = 100
|
||||
var/datum/powernet/PN // Our powernet
|
||||
var/obj/structure/cable/attached // the attached cable
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub/Life()
|
||||
. = ..()
|
||||
if(!. || ai_inactive) return
|
||||
|
||||
if(stance == STANCE_IDLE)
|
||||
//first, check for potential cables nearby to powersink
|
||||
var/turf/S = loc
|
||||
attached = locate() in S
|
||||
if(attached)
|
||||
if(prob(2))
|
||||
src.visible_message("<span class='notice'>\The [src] begins to sink power from the net.</span>")
|
||||
anchored = 1
|
||||
PN = attached.powernet
|
||||
PN.draw_power(150000)
|
||||
var/apc_drain_rate = 4000 //5000 seems a bit high, knocking it down to 4000
|
||||
for(var/obj/machinery/power/terminal/T in PN.nodes)
|
||||
if(istype(T.master, /obj/machinery/power/apc))
|
||||
var/obj/machinery/power/apc/A = T.master
|
||||
if(A.operating && A.cell)
|
||||
var/cur_charge = A.cell.charge / CELLRATE
|
||||
var/drain_val = min(apc_drain_rate, cur_charge)
|
||||
A.cell.use(drain_val * CELLRATE)
|
||||
else if(!attached && anchored)
|
||||
anchored = 0
|
||||
PN = null
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub //active noms
|
||||
vore_active = 1
|
||||
vore_capacity = 1
|
||||
vore_pounce_chance = 0 //grubs only eat incapacitated targets
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub/PunchTarget()
|
||||
. = ..()
|
||||
if(isliving(.))
|
||||
var/mob/living/L = .
|
||||
if(L.reagents)
|
||||
L.reagents.add_reagent(poison_type, poison_per_bite)
|
||||
if(prob(poison_chance))
|
||||
L << "<span class='warning'>You feel a shock rushing through your veins.</span>"
|
||||
L.reagents.add_reagent(poison_type, poison_per_bite)
|
||||
|
||||
|
||||
@@ -29,19 +29,3 @@
|
||||
|
||||
/datum/reagent/numbing_enzyme/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.add_chemical_effect(CE_PAINKILLER, 200)
|
||||
|
||||
/datum/reagent/vermicetol
|
||||
name = "Vermicetol"
|
||||
id = "vermicetol"
|
||||
description = "A potent chemical that treats burn damage at an exceptional rate and lasts a while."
|
||||
taste_description = "sparkles"
|
||||
reagent_state = SOLID
|
||||
color = "#964e06"
|
||||
overdose = 10
|
||||
scannable = 1
|
||||
metabolism = 0.02
|
||||
mrate_static = TRUE
|
||||
|
||||
/datum/reagent/vermicetol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien != IS_DIONA)
|
||||
M.heal_organ_damage(0, 21 * removed) //more potent than keloderm
|
||||
|
||||
@@ -124,17 +124,3 @@
|
||||
P.absorbed = 0
|
||||
M.visible_message("<font color='green'><b>Something spills into [M]'s [lowertext(B.name)]!</b></font>")
|
||||
return
|
||||
|
||||
//Special toxins for solargrubs
|
||||
|
||||
/datum/reagent/grubshock
|
||||
name = "200 V" //in other words a painful shock
|
||||
id = "shockchem"
|
||||
description = "A liquid that quickly dissapates to deliver a painful shock."
|
||||
reagent_state = LIQUID
|
||||
color = "#E4EC2F"
|
||||
metabolism = 2.50
|
||||
var/power = 11
|
||||
|
||||
/datum/reagent/grubshock/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.take_organ_damage(0, removed * power * 0.2)
|
||||
|
||||
@@ -73,14 +73,6 @@
|
||||
required_reagents = list("milk" = 2, "hydrogen" = 1, "potassium" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/vermicetol
|
||||
name = "Vermicetol"
|
||||
id = "vermicetol"
|
||||
result = "vermicetol"
|
||||
required_reagents = list("kelotane" = 1, "dermaline" = 1, "shockchem" = 1, "phoron" = 0.1)
|
||||
catalysts = list("phoron" = 5)
|
||||
result_amount = 3
|
||||
|
||||
///////////////////////////////
|
||||
//SLIME CORES BELOW HERE///////
|
||||
///////////////////////////////
|
||||
|
||||
@@ -190,19 +190,6 @@
|
||||
reagents.add_reagent("protein", 4)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grubmeat
|
||||
name = "grubmeat"
|
||||
desc = "A slab of grub meat, it gives a gentle shock if you touch it"
|
||||
icon = 'icons/obj/food_vr.dmi'
|
||||
icon_state = "grubmeat"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grubmeat/New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 6)
|
||||
reagents.add_reagent("shockchem", 6)
|
||||
bitesize = 6
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube
|
||||
name = "sobaka cube"
|
||||
monkey_type = "Sobaka"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 162 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 11 KiB |
@@ -802,7 +802,6 @@
|
||||
#include "code\game\objects\effects\overlays.dm"
|
||||
#include "code\game\objects\effects\portals.dm"
|
||||
#include "code\game\objects\effects\spiders.dm"
|
||||
#include "code\game\objects\effects\spider_vr.dm"
|
||||
#include "code\game\objects\effects\step_triggers.dm"
|
||||
#include "code\game\objects\effects\zone_divider.dm"
|
||||
#include "code\game\objects\effects\chem\chemsmoke.dm"
|
||||
@@ -1489,7 +1488,6 @@
|
||||
#include "code\modules\events\event_manager.dm"
|
||||
#include "code\modules\events\gravity.dm"
|
||||
#include "code\modules\events\grid_check.dm"
|
||||
#include "code\modules\events\grubinfestation_vr.dm"
|
||||
#include "code\modules\events\ian_storm_vr.dm"
|
||||
#include "code\modules\events\infestation.dm"
|
||||
#include "code\modules\events\ion_storm.dm"
|
||||
@@ -1981,7 +1979,6 @@
|
||||
#include "code\modules\mob\living\simple_animal\vore\horse.dm"
|
||||
#include "code\modules\mob\living\simple_animal\vore\panther.dm"
|
||||
#include "code\modules\mob\living\simple_animal\vore\snake.dm"
|
||||
#include "code\modules\mob\living\simple_animal\vore\solargrub.dm"
|
||||
#include "code\modules\mob\living\simple_animal\vore\wah.dm"
|
||||
#include "code\modules\mob\living\simple_animal\vore\wolf.dm"
|
||||
#include "code\modules\mob\living\simple_animal\vore\zz_vore_overrides.dm"
|
||||
|
||||
Reference in New Issue
Block a user