@@ -18,16 +18,20 @@
|
||||
return FALSE
|
||||
return .
|
||||
|
||||
/mob/living/carbon/proc/toggle_combat_mode()
|
||||
/mob/living/carbon/proc/toggle_combat_mode(forced)
|
||||
if(recoveringstam)
|
||||
return TRUE
|
||||
if(!forced)
|
||||
for(var/datum/status_effect/S in status_effects)
|
||||
if(S.blocks_combatmode)
|
||||
return TRUE
|
||||
combatmode = !combatmode
|
||||
if(voremode)
|
||||
toggle_vore_mode()
|
||||
if(combatmode)
|
||||
playsound_local(src, 'modular_citadel/sound/misc/ui_toggle.ogg', 50, FALSE, pressure_affected = FALSE) //Sound from interbay!
|
||||
playsound_local(src, 'sound/misc/ui_toggle.ogg', 50, FALSE, pressure_affected = FALSE) //Sound from interbay!
|
||||
else
|
||||
playsound_local(src, 'modular_citadel/sound/misc/ui_toggleoff.ogg', 50, FALSE, pressure_affected = FALSE) //Slightly modified version of the above!
|
||||
playsound_local(src, 'sound/misc/ui_toggleoff.ogg', 50, FALSE, pressure_affected = FALSE) //Slightly modified version of the above!
|
||||
if(client)
|
||||
client.show_popup_menus = !combatmode // So we can right-click for alternate actions and all that other good shit. Also moves examine to shift+rightclick to make it possible to attack while sprinting
|
||||
if(hud_used && hud_used.static_inventory)
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
/mob/living/carbon/human/species/mammal
|
||||
race = /datum/species/mammal
|
||||
|
||||
/mob/living/carbon/human/species/insect
|
||||
race = /datum/species/insect
|
||||
|
||||
/mob/living/carbon/human/species/xeno
|
||||
race = /datum/species/xeno
|
||||
|
||||
/mob/living/proc/resist_embedded()
|
||||
return
|
||||
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
sprinting = !sprinting
|
||||
if(!resting && m_intent == MOVE_INTENT_RUN && canmove)
|
||||
if(sprinting)
|
||||
playsound_local(src, 'modular_citadel/sound/misc/sprintactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
playsound_local(src, 'sound/misc/sprintactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
else
|
||||
playsound_local(src, 'modular_citadel/sound/misc/sprintdeactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
playsound_local(src, 'sound/misc/sprintdeactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
if(hud_used && hud_used.static_inventory)
|
||||
for(var/obj/screen/sprintbutton/selector in hud_used.static_inventory)
|
||||
selector.insert_witty_toggle_joke_here(src)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
var/sprint_buffer_max = 42
|
||||
var/sprint_buffer_regen_ds = 0.3 //Tiles per world.time decisecond
|
||||
var/sprint_buffer_regen_last = 0 //last world.time this was regen'd for math.
|
||||
var/sprint_stamina_cost = 0.55 //stamina loss per tile while insufficient sprint buffer.
|
||||
var/sprint_stamina_cost = 0.70 //stamina loss per tile while insufficient sprint buffer.
|
||||
//---End
|
||||
|
||||
/mob/living/movement_delay(ignorewalk = 0)
|
||||
@@ -116,7 +116,7 @@
|
||||
to_chat(src, "<span class='notice'>You're too exhausted to keep going...</span>")
|
||||
resting = TRUE
|
||||
if(combatmode)
|
||||
toggle_combat_mode()
|
||||
toggle_combat_mode(TRUE)
|
||||
recoveringstam = TRUE
|
||||
filters += CIT_FILTER_STAMINACRIT
|
||||
update_canmove()
|
||||
|
||||
@@ -1,633 +0,0 @@
|
||||
// List is required to compile the resources into the game when it loads.
|
||||
// Dynamically loading it has bad results with sounds overtaking each other, even with the wait variable.
|
||||
#ifdef AI_VOX
|
||||
|
||||
GLOBAL_LIST_INIT(vox_sounds_male, list("," = 'modular_citadel/sound/vox/_comma.ogg',
|
||||
"." = 'modular_citadel/sound/vox/_period.ogg',
|
||||
"a" = 'modular_citadel/sound/vox/a.ogg',
|
||||
"accelerating" = 'modular_citadel/sound/vox/accelerating.ogg',
|
||||
"accelerator" = 'modular_citadel/sound/vox/accelerator.ogg',
|
||||
"accepted" = 'modular_citadel/sound/vox/accepted.ogg',
|
||||
"access" = 'modular_citadel/sound/vox/access.ogg',
|
||||
"acknowledge" = 'modular_citadel/sound/vox/acknowledge.ogg',
|
||||
"acknowledged" = 'modular_citadel/sound/vox/acknowledged.ogg',
|
||||
"acquired" = 'modular_citadel/sound/vox/acquired.ogg',
|
||||
"acquisition" = 'modular_citadel/sound/vox/acquisition.ogg',
|
||||
"across" = 'modular_citadel/sound/vox/across.ogg',
|
||||
"activate" = 'modular_citadel/sound/vox/activate.ogg',
|
||||
"activated" = 'modular_citadel/sound/vox/activated.ogg',
|
||||
"activity" = 'modular_citadel/sound/vox/activity.ogg',
|
||||
"adios" = 'modular_citadel/sound/vox/adios.ogg',
|
||||
"administration" = 'modular_citadel/sound/vox/administration.ogg',
|
||||
"advanced" = 'modular_citadel/sound/vox/advanced.ogg',
|
||||
"after" = 'modular_citadel/sound/vox/after.ogg',
|
||||
"agent" = 'modular_citadel/sound/vox/agent.ogg',
|
||||
"alarm" = 'modular_citadel/sound/vox/alarm.ogg',
|
||||
"alert" = 'modular_citadel/sound/vox/alert.ogg',
|
||||
"alien" = 'modular_citadel/sound/vox/alien.ogg',
|
||||
"aligned" = 'modular_citadel/sound/vox/aligned.ogg',
|
||||
"all" = 'modular_citadel/sound/vox/all.ogg',
|
||||
"alpha" = 'modular_citadel/sound/vox/alpha.ogg',
|
||||
"am" = 'modular_citadel/sound/vox/am.ogg',
|
||||
"amigo" = 'modular_citadel/sound/vox/amigo.ogg',
|
||||
"ammunition" = 'modular_citadel/sound/vox/ammunition.ogg',
|
||||
"an" = 'modular_citadel/sound/vox/an.ogg',
|
||||
"and" = 'modular_citadel/sound/vox/and.ogg',
|
||||
"announcement" = 'modular_citadel/sound/vox/announcement.ogg',
|
||||
"anomalous" = 'modular_citadel/sound/vox/anomalous.ogg',
|
||||
"antenna" = 'modular_citadel/sound/vox/antenna.ogg',
|
||||
"any" = 'modular_citadel/sound/vox/any.ogg',
|
||||
"apprehend" = 'modular_citadel/sound/vox/apprehend.ogg',
|
||||
"approach" = 'modular_citadel/sound/vox/approach.ogg',
|
||||
"are" = 'modular_citadel/sound/vox/are.ogg',
|
||||
"area" = 'modular_citadel/sound/vox/area.ogg',
|
||||
"arm" = 'modular_citadel/sound/vox/arm.ogg',
|
||||
"armed" = 'modular_citadel/sound/vox/armed.ogg',
|
||||
"armor" = 'modular_citadel/sound/vox/armor.ogg',
|
||||
"armory" = 'modular_citadel/sound/vox/armory.ogg',
|
||||
"arrest" = 'modular_citadel/sound/vox/arrest.ogg',
|
||||
"ass" = 'modular_citadel/sound/vox/ass.ogg',
|
||||
"at" = 'modular_citadel/sound/vox/at.ogg',
|
||||
"atomic" = 'modular_citadel/sound/vox/atomic.ogg',
|
||||
"attention" = 'modular_citadel/sound/vox/attention.ogg',
|
||||
"authorize" = 'modular_citadel/sound/vox/authorize.ogg',
|
||||
"authorized" = 'modular_citadel/sound/vox/authorized.ogg',
|
||||
"automatic" = 'modular_citadel/sound/vox/automatic.ogg',
|
||||
"away" = 'modular_citadel/sound/vox/away.ogg',
|
||||
"b" = 'modular_citadel/sound/vox/b.ogg',
|
||||
"back" = 'modular_citadel/sound/vox/back.ogg',
|
||||
"backman" = 'modular_citadel/sound/vox/backman.ogg',
|
||||
"bad" = 'modular_citadel/sound/vox/bad.ogg',
|
||||
"bag" = 'modular_citadel/sound/vox/bag.ogg',
|
||||
"bailey" = 'modular_citadel/sound/vox/bailey.ogg',
|
||||
"barracks" = 'modular_citadel/sound/vox/barracks.ogg',
|
||||
"base" = 'modular_citadel/sound/vox/base.ogg',
|
||||
"bay" = 'modular_citadel/sound/vox/bay.ogg',
|
||||
"be" = 'modular_citadel/sound/vox/be.ogg',
|
||||
"been" = 'modular_citadel/sound/vox/been.ogg',
|
||||
"before" = 'modular_citadel/sound/vox/before.ogg',
|
||||
"beyond" = 'modular_citadel/sound/vox/beyond.ogg',
|
||||
"biohazard" = 'modular_citadel/sound/vox/biohazard.ogg',
|
||||
"biological" = 'modular_citadel/sound/vox/biological.ogg',
|
||||
"birdwell" = 'modular_citadel/sound/vox/birdwell.ogg',
|
||||
"bizwarn" = 'modular_citadel/sound/vox/bizwarn.ogg',
|
||||
"black" = 'modular_citadel/sound/vox/black.ogg',
|
||||
"blast" = 'modular_citadel/sound/vox/blast.ogg',
|
||||
"blocked" = 'modular_citadel/sound/vox/blocked.ogg',
|
||||
"bloop" = 'modular_citadel/sound/vox/bloop.ogg',
|
||||
"blue" = 'modular_citadel/sound/vox/blue.ogg',
|
||||
"bottom" = 'modular_citadel/sound/vox/bottom.ogg',
|
||||
"bravo" = 'modular_citadel/sound/vox/bravo.ogg',
|
||||
"breach" = 'modular_citadel/sound/vox/breach.ogg',
|
||||
"breached" = 'modular_citadel/sound/vox/breached.ogg',
|
||||
"break" = 'modular_citadel/sound/vox/break.ogg',
|
||||
"bridge" = 'modular_citadel/sound/vox/bridge.ogg',
|
||||
"bust" = 'modular_citadel/sound/vox/bust.ogg',
|
||||
"but" = 'modular_citadel/sound/vox/but.ogg',
|
||||
"button" = 'modular_citadel/sound/vox/button.ogg',
|
||||
"buzwarn" = 'modular_citadel/sound/vox/buzwarn.ogg',
|
||||
"bypass" = 'modular_citadel/sound/vox/bypass.ogg',
|
||||
"c" = 'modular_citadel/sound/vox/c.ogg',
|
||||
"cable" = 'modular_citadel/sound/vox/cable.ogg',
|
||||
"call" = 'modular_citadel/sound/vox/call.ogg',
|
||||
"called" = 'modular_citadel/sound/vox/called.ogg',
|
||||
"canal" = 'modular_citadel/sound/vox/canal.ogg',
|
||||
"cap" = 'modular_citadel/sound/vox/cap.ogg',
|
||||
"captain" = 'modular_citadel/sound/vox/captain.ogg',
|
||||
"capture" = 'modular_citadel/sound/vox/capture.ogg',
|
||||
"captured" = 'modular_citadel/sound/vox/captured.ogg',
|
||||
"ceiling" = 'modular_citadel/sound/vox/ceiling.ogg',
|
||||
"celsius" = 'modular_citadel/sound/vox/celsius.ogg',
|
||||
"center" = 'modular_citadel/sound/vox/center.ogg',
|
||||
"centi" = 'modular_citadel/sound/vox/centi.ogg',
|
||||
"central" = 'modular_citadel/sound/vox/central.ogg',
|
||||
"chamber" = 'modular_citadel/sound/vox/chamber.ogg',
|
||||
"charlie" = 'modular_citadel/sound/vox/charlie.ogg',
|
||||
"check" = 'modular_citadel/sound/vox/check.ogg',
|
||||
"checkpoint" = 'modular_citadel/sound/vox/checkpoint.ogg',
|
||||
"chemical" = 'modular_citadel/sound/vox/chemical.ogg',
|
||||
"cleanup" = 'modular_citadel/sound/vox/cleanup.ogg',
|
||||
"clear" = 'modular_citadel/sound/vox/clear.ogg',
|
||||
"clearance" = 'modular_citadel/sound/vox/clearance.ogg',
|
||||
"close" = 'modular_citadel/sound/vox/close.ogg',
|
||||
"clown" = 'modular_citadel/sound/vox/clown.ogg',
|
||||
"code" = 'modular_citadel/sound/vox/code.ogg',
|
||||
"coded" = 'modular_citadel/sound/vox/coded.ogg',
|
||||
"collider" = 'modular_citadel/sound/vox/collider.ogg',
|
||||
"command" = 'modular_citadel/sound/vox/command.ogg',
|
||||
"communication" = 'modular_citadel/sound/vox/communication.ogg',
|
||||
"complex" = 'modular_citadel/sound/vox/complex.ogg',
|
||||
"computer" = 'modular_citadel/sound/vox/computer.ogg',
|
||||
"condition" = 'modular_citadel/sound/vox/condition.ogg',
|
||||
"containment" = 'modular_citadel/sound/vox/containment.ogg',
|
||||
"contamination" = 'modular_citadel/sound/vox/contamination.ogg',
|
||||
"control" = 'modular_citadel/sound/vox/control.ogg',
|
||||
"coolant" = 'modular_citadel/sound/vox/coolant.ogg',
|
||||
"coomer" = 'modular_citadel/sound/vox/coomer.ogg',
|
||||
"core" = 'modular_citadel/sound/vox/core.ogg',
|
||||
"correct" = 'modular_citadel/sound/vox/correct.ogg',
|
||||
"corridor" = 'modular_citadel/sound/vox/corridor.ogg',
|
||||
"crew" = 'modular_citadel/sound/vox/crew.ogg',
|
||||
"cross" = 'modular_citadel/sound/vox/cross.ogg',
|
||||
"cryogenic" = 'modular_citadel/sound/vox/cryogenic.ogg',
|
||||
"d" = 'modular_citadel/sound/vox/d.ogg',
|
||||
"dadeda" = 'modular_citadel/sound/vox/dadeda.ogg',
|
||||
"damage" = 'modular_citadel/sound/vox/damage.ogg',
|
||||
"damaged" = 'modular_citadel/sound/vox/damaged.ogg',
|
||||
"danger" = 'modular_citadel/sound/vox/danger.ogg',
|
||||
"day" = 'modular_citadel/sound/vox/day.ogg',
|
||||
"deactivated" = 'modular_citadel/sound/vox/deactivated.ogg',
|
||||
"decompression" = 'modular_citadel/sound/vox/decompression.ogg',
|
||||
"decontamination" = 'modular_citadel/sound/vox/decontamination.ogg',
|
||||
"deeoo" = 'modular_citadel/sound/vox/deeoo.ogg',
|
||||
"defense" = 'modular_citadel/sound/vox/defense.ogg',
|
||||
"degrees" = 'modular_citadel/sound/vox/degrees.ogg',
|
||||
"delta" = 'modular_citadel/sound/vox/delta.ogg',
|
||||
"denied" = 'modular_citadel/sound/vox/denied.ogg',
|
||||
"deploy" = 'modular_citadel/sound/vox/deploy.ogg',
|
||||
"deployed" = 'modular_citadel/sound/vox/deployed.ogg',
|
||||
"destroy" = 'modular_citadel/sound/vox/destroy.ogg',
|
||||
"destroyed" = 'modular_citadel/sound/vox/destroyed.ogg',
|
||||
"detain" = 'modular_citadel/sound/vox/detain.ogg',
|
||||
"detected" = 'modular_citadel/sound/vox/detected.ogg',
|
||||
"detonation" = 'modular_citadel/sound/vox/detonation.ogg',
|
||||
"device" = 'modular_citadel/sound/vox/device.ogg',
|
||||
"did" = 'modular_citadel/sound/vox/did.ogg',
|
||||
"die" = 'modular_citadel/sound/vox/die.ogg',
|
||||
"dimensional" = 'modular_citadel/sound/vox/dimensional.ogg',
|
||||
"dirt" = 'modular_citadel/sound/vox/dirt.ogg',
|
||||
"disengaged" = 'modular_citadel/sound/vox/disengaged.ogg',
|
||||
"dish" = 'modular_citadel/sound/vox/dish.ogg',
|
||||
"disposal" = 'modular_citadel/sound/vox/disposal.ogg',
|
||||
"distance" = 'modular_citadel/sound/vox/distance.ogg',
|
||||
"distortion" = 'modular_citadel/sound/vox/distortion.ogg',
|
||||
"do" = 'modular_citadel/sound/vox/do.ogg',
|
||||
"doctor" = 'modular_citadel/sound/vox/doctor.ogg',
|
||||
"doop" = 'modular_citadel/sound/vox/doop.ogg',
|
||||
"door" = 'modular_citadel/sound/vox/door.ogg',
|
||||
"down" = 'modular_citadel/sound/vox/down.ogg',
|
||||
"dual" = 'modular_citadel/sound/vox/dual.ogg',
|
||||
"duct" = 'modular_citadel/sound/vox/duct.ogg',
|
||||
"e" = 'modular_citadel/sound/vox/e.ogg',
|
||||
"east" = 'modular_citadel/sound/vox/east.ogg',
|
||||
"echo" = 'modular_citadel/sound/vox/echo.ogg',
|
||||
"ed" = 'modular_citadel/sound/vox/ed.ogg',
|
||||
"effect" = 'modular_citadel/sound/vox/effect.ogg',
|
||||
"egress" = 'modular_citadel/sound/vox/egress.ogg',
|
||||
"eight" = 'modular_citadel/sound/vox/eight.ogg',
|
||||
"eighteen" = 'modular_citadel/sound/vox/eighteen.ogg',
|
||||
"eighty" = 'modular_citadel/sound/vox/eighty.ogg',
|
||||
"electric" = 'modular_citadel/sound/vox/electric.ogg',
|
||||
"electromagnetic" = 'modular_citadel/sound/vox/electromagnetic.ogg',
|
||||
"elevator" = 'modular_citadel/sound/vox/elevator.ogg',
|
||||
"eleven" = 'modular_citadel/sound/vox/eleven.ogg',
|
||||
"eliminate" = 'modular_citadel/sound/vox/eliminate.ogg',
|
||||
"emergency" = 'modular_citadel/sound/vox/emergency.ogg',
|
||||
"enemy" = 'modular_citadel/sound/vox/enemy.ogg',
|
||||
"energy" = 'modular_citadel/sound/vox/energy.ogg',
|
||||
"engage" = 'modular_citadel/sound/vox/engage.ogg',
|
||||
"engaged" = 'modular_citadel/sound/vox/engaged.ogg',
|
||||
"engine" = 'modular_citadel/sound/vox/engine.ogg',
|
||||
"enter" = 'modular_citadel/sound/vox/enter.ogg',
|
||||
"entry" = 'modular_citadel/sound/vox/entry.ogg',
|
||||
"environment" = 'modular_citadel/sound/vox/environment.ogg',
|
||||
"error" = 'modular_citadel/sound/vox/error.ogg',
|
||||
"escape" = 'modular_citadel/sound/vox/escape.ogg',
|
||||
"evacuate" = 'modular_citadel/sound/vox/evacuate.ogg',
|
||||
"exchange" = 'modular_citadel/sound/vox/exchange.ogg',
|
||||
"exit" = 'modular_citadel/sound/vox/exit.ogg',
|
||||
"expect" = 'modular_citadel/sound/vox/expect.ogg',
|
||||
"experiment" = 'modular_citadel/sound/vox/experiment.ogg',
|
||||
"experimental" = 'modular_citadel/sound/vox/experimental.ogg',
|
||||
"explode" = 'modular_citadel/sound/vox/explode.ogg',
|
||||
"explosion" = 'modular_citadel/sound/vox/explosion.ogg',
|
||||
"exposure" = 'modular_citadel/sound/vox/exposure.ogg',
|
||||
"exterminate" = 'modular_citadel/sound/vox/exterminate.ogg',
|
||||
"extinguish" = 'modular_citadel/sound/vox/extinguish.ogg',
|
||||
"extinguisher" = 'modular_citadel/sound/vox/extinguisher.ogg',
|
||||
"extreme" = 'modular_citadel/sound/vox/extreme.ogg',
|
||||
"f" = 'modular_citadel/sound/vox/f.ogg',
|
||||
"face" = 'modular_citadel/sound/vox/face.ogg',
|
||||
"facility" = 'modular_citadel/sound/vox/facility.ogg',
|
||||
"fahrenheit" = 'modular_citadel/sound/vox/fahrenheit.ogg',
|
||||
"failed" = 'modular_citadel/sound/vox/failed.ogg',
|
||||
"failure" = 'modular_citadel/sound/vox/failure.ogg',
|
||||
"farthest" = 'modular_citadel/sound/vox/farthest.ogg',
|
||||
"fast" = 'modular_citadel/sound/vox/fast.ogg',
|
||||
"feet" = 'modular_citadel/sound/vox/feet.ogg',
|
||||
"field" = 'modular_citadel/sound/vox/field.ogg',
|
||||
"fifteen" = 'modular_citadel/sound/vox/fifteen.ogg',
|
||||
"fifth" = 'modular_citadel/sound/vox/fifth.ogg',
|
||||
"fifty" = 'modular_citadel/sound/vox/fifty.ogg',
|
||||
"final" = 'modular_citadel/sound/vox/final.ogg',
|
||||
"fine" = 'modular_citadel/sound/vox/fine.ogg',
|
||||
"fire" = 'modular_citadel/sound/vox/fire.ogg',
|
||||
"first" = 'modular_citadel/sound/vox/first.ogg',
|
||||
"five" = 'modular_citadel/sound/vox/five.ogg',
|
||||
"flag" = 'modular_citadel/sound/vox/flag.ogg',
|
||||
"flooding" = 'modular_citadel/sound/vox/flooding.ogg',
|
||||
"floor" = 'modular_citadel/sound/vox/floor.ogg',
|
||||
"fool" = 'modular_citadel/sound/vox/fool.ogg',
|
||||
"for" = 'modular_citadel/sound/vox/for.ogg',
|
||||
"forbidden" = 'modular_citadel/sound/vox/forbidden.ogg',
|
||||
"force" = 'modular_citadel/sound/vox/force.ogg',
|
||||
"forms" = 'modular_citadel/sound/vox/forms.ogg',
|
||||
"found" = 'modular_citadel/sound/vox/found.ogg',
|
||||
"four" = 'modular_citadel/sound/vox/four.ogg',
|
||||
"fourteen" = 'modular_citadel/sound/vox/fourteen.ogg',
|
||||
"fourth" = 'modular_citadel/sound/vox/fourth.ogg',
|
||||
"fourty" = 'modular_citadel/sound/vox/fourty.ogg',
|
||||
"foxtrot" = 'modular_citadel/sound/vox/foxtrot.ogg',
|
||||
"freeman" = 'modular_citadel/sound/vox/freeman.ogg',
|
||||
"freezer" = 'modular_citadel/sound/vox/freezer.ogg',
|
||||
"from" = 'modular_citadel/sound/vox/from.ogg',
|
||||
"front" = 'modular_citadel/sound/vox/front.ogg',
|
||||
"fuel" = 'modular_citadel/sound/vox/fuel.ogg',
|
||||
"g" = 'modular_citadel/sound/vox/g.ogg',
|
||||
"gay" = 'modular_citadel/sound/vox/gay.ogg',
|
||||
"get" = 'modular_citadel/sound/vox/get.ogg',
|
||||
"go" = 'modular_citadel/sound/vox/go.ogg',
|
||||
"going" = 'modular_citadel/sound/vox/going.ogg',
|
||||
"good" = 'modular_citadel/sound/vox/good.ogg',
|
||||
"goodbye" = 'modular_citadel/sound/vox/goodbye.ogg',
|
||||
"gordon" = 'modular_citadel/sound/vox/gordon.ogg',
|
||||
"got" = 'modular_citadel/sound/vox/got.ogg',
|
||||
"government" = 'modular_citadel/sound/vox/government.ogg',
|
||||
"granted" = 'modular_citadel/sound/vox/granted.ogg',
|
||||
"great" = 'modular_citadel/sound/vox/great.ogg',
|
||||
"green" = 'modular_citadel/sound/vox/green.ogg',
|
||||
"grenade" = 'modular_citadel/sound/vox/grenade.ogg',
|
||||
"guard" = 'modular_citadel/sound/vox/guard.ogg',
|
||||
"gulf" = 'modular_citadel/sound/vox/gulf.ogg',
|
||||
"gun" = 'modular_citadel/sound/vox/gun.ogg',
|
||||
"guthrie" = 'modular_citadel/sound/vox/guthrie.ogg',
|
||||
"handling" = 'modular_citadel/sound/vox/handling.ogg',
|
||||
"hangar" = 'modular_citadel/sound/vox/hangar.ogg',
|
||||
"has" = 'modular_citadel/sound/vox/has.ogg',
|
||||
"have" = 'modular_citadel/sound/vox/have.ogg',
|
||||
"hazard" = 'modular_citadel/sound/vox/hazard.ogg',
|
||||
"head" = 'modular_citadel/sound/vox/head.ogg',
|
||||
"health" = 'modular_citadel/sound/vox/health.ogg',
|
||||
"heat" = 'modular_citadel/sound/vox/heat.ogg',
|
||||
"helicopter" = 'modular_citadel/sound/vox/helicopter.ogg',
|
||||
"helium" = 'modular_citadel/sound/vox/helium.ogg',
|
||||
"hello" = 'modular_citadel/sound/vox/hello.ogg',
|
||||
"help" = 'modular_citadel/sound/vox/help.ogg',
|
||||
"here" = 'modular_citadel/sound/vox/here.ogg',
|
||||
"hide" = 'modular_citadel/sound/vox/hide.ogg',
|
||||
"high" = 'modular_citadel/sound/vox/high.ogg',
|
||||
"highest" = 'modular_citadel/sound/vox/highest.ogg',
|
||||
"hit" = 'modular_citadel/sound/vox/hit.ogg',
|
||||
"holds" = 'modular_citadel/sound/vox/holds.ogg',
|
||||
"hole" = 'modular_citadel/sound/vox/hole.ogg',
|
||||
"hostile" = 'modular_citadel/sound/vox/hostile.ogg',
|
||||
"hot" = 'modular_citadel/sound/vox/hot.ogg',
|
||||
"hotel" = 'modular_citadel/sound/vox/hotel.ogg',
|
||||
"hour" = 'modular_citadel/sound/vox/hour.ogg',
|
||||
"hours" = 'modular_citadel/sound/vox/hours.ogg',
|
||||
"hundred" = 'modular_citadel/sound/vox/hundred.ogg',
|
||||
"hydro" = 'modular_citadel/sound/vox/hydro.ogg',
|
||||
"i" = 'modular_citadel/sound/vox/i.ogg',
|
||||
"idiot" = 'modular_citadel/sound/vox/idiot.ogg',
|
||||
"illegal" = 'modular_citadel/sound/vox/illegal.ogg',
|
||||
"immediate" = 'modular_citadel/sound/vox/immediate.ogg',
|
||||
"immediately" = 'modular_citadel/sound/vox/immediately.ogg',
|
||||
"in" = 'modular_citadel/sound/vox/in.ogg',
|
||||
"inches" = 'modular_citadel/sound/vox/inches.ogg',
|
||||
"india" = 'modular_citadel/sound/vox/india.ogg',
|
||||
"ing" = 'modular_citadel/sound/vox/ing.ogg',
|
||||
"inoperative" = 'modular_citadel/sound/vox/inoperative.ogg',
|
||||
"inside" = 'modular_citadel/sound/vox/inside.ogg',
|
||||
"inspection" = 'modular_citadel/sound/vox/inspection.ogg',
|
||||
"inspector" = 'modular_citadel/sound/vox/inspector.ogg',
|
||||
"interchange" = 'modular_citadel/sound/vox/interchange.ogg',
|
||||
"intruder" = 'modular_citadel/sound/vox/intruder.ogg',
|
||||
"invallid" = 'modular_citadel/sound/vox/invallid.ogg',
|
||||
"invasion" = 'modular_citadel/sound/vox/invasion.ogg',
|
||||
"is" = 'modular_citadel/sound/vox/is.ogg',
|
||||
"it" = 'modular_citadel/sound/vox/it.ogg',
|
||||
"johnson" = 'modular_citadel/sound/vox/johnson.ogg',
|
||||
"juliet" = 'modular_citadel/sound/vox/juliet.ogg',
|
||||
"key" = 'modular_citadel/sound/vox/key.ogg',
|
||||
"kill" = 'modular_citadel/sound/vox/kill.ogg',
|
||||
"kilo" = 'modular_citadel/sound/vox/kilo.ogg',
|
||||
"kit" = 'modular_citadel/sound/vox/kit.ogg',
|
||||
"lab" = 'modular_citadel/sound/vox/lab.ogg',
|
||||
"lambda" = 'modular_citadel/sound/vox/lambda.ogg',
|
||||
"laser" = 'modular_citadel/sound/vox/laser.ogg',
|
||||
"last" = 'modular_citadel/sound/vox/last.ogg',
|
||||
"launch" = 'modular_citadel/sound/vox/launch.ogg',
|
||||
"leak" = 'modular_citadel/sound/vox/leak.ogg',
|
||||
"leave" = 'modular_citadel/sound/vox/leave.ogg',
|
||||
"left" = 'modular_citadel/sound/vox/left.ogg',
|
||||
"legal" = 'modular_citadel/sound/vox/legal.ogg',
|
||||
"level" = 'modular_citadel/sound/vox/level.ogg',
|
||||
"lever" = 'modular_citadel/sound/vox/lever.ogg',
|
||||
"lie" = 'modular_citadel/sound/vox/lie.ogg',
|
||||
"lieutenant" = 'modular_citadel/sound/vox/lieutenant.ogg',
|
||||
"life" = 'modular_citadel/sound/vox/life.ogg',
|
||||
"light" = 'modular_citadel/sound/vox/light.ogg',
|
||||
"lima" = 'modular_citadel/sound/vox/lima.ogg',
|
||||
"liquid" = 'modular_citadel/sound/vox/liquid.ogg',
|
||||
"loading" = 'modular_citadel/sound/vox/loading.ogg',
|
||||
"locate" = 'modular_citadel/sound/vox/locate.ogg',
|
||||
"located" = 'modular_citadel/sound/vox/located.ogg',
|
||||
"location" = 'modular_citadel/sound/vox/location.ogg',
|
||||
"lock" = 'modular_citadel/sound/vox/lock.ogg',
|
||||
"locked" = 'modular_citadel/sound/vox/locked.ogg',
|
||||
"locker" = 'modular_citadel/sound/vox/locker.ogg',
|
||||
"lockout" = 'modular_citadel/sound/vox/lockout.ogg',
|
||||
"lower" = 'modular_citadel/sound/vox/lower.ogg',
|
||||
"lowest" = 'modular_citadel/sound/vox/lowest.ogg',
|
||||
"magnetic" = 'modular_citadel/sound/vox/magnetic.ogg',
|
||||
"main" = 'modular_citadel/sound/vox/main.ogg',
|
||||
"maintenance" = 'modular_citadel/sound/vox/maintenance.ogg',
|
||||
"malfunction" = 'modular_citadel/sound/vox/malfunction.ogg',
|
||||
"man" = 'modular_citadel/sound/vox/man.ogg',
|
||||
"mass" = 'modular_citadel/sound/vox/mass.ogg',
|
||||
"materials" = 'modular_citadel/sound/vox/materials.ogg',
|
||||
"maximum" = 'modular_citadel/sound/vox/maximum.ogg',
|
||||
"may" = 'modular_citadel/sound/vox/may.ogg',
|
||||
"med" = 'modular_citadel/sound/vox/med.ogg',
|
||||
"medical" = 'modular_citadel/sound/vox/medical.ogg',
|
||||
"men" = 'modular_citadel/sound/vox/men.ogg',
|
||||
"mercy" = 'modular_citadel/sound/vox/mercy.ogg',
|
||||
"mesa" = 'modular_citadel/sound/vox/mesa.ogg',
|
||||
"message" = 'modular_citadel/sound/vox/message.ogg',
|
||||
"meter" = 'modular_citadel/sound/vox/meter.ogg',
|
||||
"micro" = 'modular_citadel/sound/vox/micro.ogg',
|
||||
"middle" = 'modular_citadel/sound/vox/middle.ogg',
|
||||
"mike" = 'modular_citadel/sound/vox/mike.ogg',
|
||||
"miles" = 'modular_citadel/sound/vox/miles.ogg',
|
||||
"military" = 'modular_citadel/sound/vox/military.ogg',
|
||||
"milli" = 'modular_citadel/sound/vox/milli.ogg',
|
||||
"million" = 'modular_citadel/sound/vox/million.ogg',
|
||||
"minefield" = 'modular_citadel/sound/vox/minefield.ogg',
|
||||
"minimum" = 'modular_citadel/sound/vox/minimum.ogg',
|
||||
"minutes" = 'modular_citadel/sound/vox/minutes.ogg',
|
||||
"mister" = 'modular_citadel/sound/vox/mister.ogg',
|
||||
"mode" = 'modular_citadel/sound/vox/mode.ogg',
|
||||
"motor" = 'modular_citadel/sound/vox/motor.ogg',
|
||||
"motorpool" = 'modular_citadel/sound/vox/motorpool.ogg',
|
||||
"move" = 'modular_citadel/sound/vox/move.ogg',
|
||||
"must" = 'modular_citadel/sound/vox/must.ogg',
|
||||
"nearest" = 'modular_citadel/sound/vox/nearest.ogg',
|
||||
"nice" = 'modular_citadel/sound/vox/nice.ogg',
|
||||
"nine" = 'modular_citadel/sound/vox/nine.ogg',
|
||||
"nineteen" = 'modular_citadel/sound/vox/nineteen.ogg',
|
||||
"ninety" = 'modular_citadel/sound/vox/ninety.ogg',
|
||||
"no" = 'modular_citadel/sound/vox/no.ogg',
|
||||
"nominal" = 'modular_citadel/sound/vox/nominal.ogg',
|
||||
"north" = 'modular_citadel/sound/vox/north.ogg',
|
||||
"not" = 'modular_citadel/sound/vox/not.ogg',
|
||||
"november" = 'modular_citadel/sound/vox/november.ogg',
|
||||
"now" = 'modular_citadel/sound/vox/now.ogg',
|
||||
"number" = 'modular_citadel/sound/vox/number.ogg',
|
||||
"objective" = 'modular_citadel/sound/vox/objective.ogg',
|
||||
"observation" = 'modular_citadel/sound/vox/observation.ogg',
|
||||
"of" = 'modular_citadel/sound/vox/of.ogg',
|
||||
"officer" = 'modular_citadel/sound/vox/officer.ogg',
|
||||
"ok" = 'modular_citadel/sound/vox/ok.ogg',
|
||||
"on" = 'modular_citadel/sound/vox/on.ogg',
|
||||
"one" = 'modular_citadel/sound/vox/one.ogg',
|
||||
"open" = 'modular_citadel/sound/vox/open.ogg',
|
||||
"operating" = 'modular_citadel/sound/vox/operating.ogg',
|
||||
"operations" = 'modular_citadel/sound/vox/operations.ogg',
|
||||
"operative" = 'modular_citadel/sound/vox/operative.ogg',
|
||||
"option" = 'modular_citadel/sound/vox/option.ogg',
|
||||
"order" = 'modular_citadel/sound/vox/order.ogg',
|
||||
"organic" = 'modular_citadel/sound/vox/organic.ogg',
|
||||
"oscar" = 'modular_citadel/sound/vox/oscar.ogg',
|
||||
"out" = 'modular_citadel/sound/vox/out.ogg',
|
||||
"outside" = 'modular_citadel/sound/vox/outside.ogg',
|
||||
"over" = 'modular_citadel/sound/vox/over.ogg',
|
||||
"overload" = 'modular_citadel/sound/vox/overload.ogg',
|
||||
"override" = 'modular_citadel/sound/vox/override.ogg',
|
||||
"pacify" = 'modular_citadel/sound/vox/pacify.ogg',
|
||||
"pain" = 'modular_citadel/sound/vox/pain.ogg',
|
||||
"pal" = 'modular_citadel/sound/vox/pal.ogg',
|
||||
"panel" = 'modular_citadel/sound/vox/panel.ogg',
|
||||
"percent" = 'modular_citadel/sound/vox/percent.ogg',
|
||||
"perimeter" = 'modular_citadel/sound/vox/perimeter.ogg',
|
||||
"permitted" = 'modular_citadel/sound/vox/permitted.ogg',
|
||||
"personnel" = 'modular_citadel/sound/vox/personnel.ogg',
|
||||
"pipe" = 'modular_citadel/sound/vox/pipe.ogg',
|
||||
"plant" = 'modular_citadel/sound/vox/plant.ogg',
|
||||
"platform" = 'modular_citadel/sound/vox/platform.ogg',
|
||||
"please" = 'modular_citadel/sound/vox/please.ogg',
|
||||
"point" = 'modular_citadel/sound/vox/point.ogg',
|
||||
"portal" = 'modular_citadel/sound/vox/portal.ogg',
|
||||
"power" = 'modular_citadel/sound/vox/power.ogg',
|
||||
"presence" = 'modular_citadel/sound/vox/presence.ogg',
|
||||
"press" = 'modular_citadel/sound/vox/press.ogg',
|
||||
"primary" = 'modular_citadel/sound/vox/primary.ogg',
|
||||
"proceed" = 'modular_citadel/sound/vox/proceed.ogg',
|
||||
"processing" = 'modular_citadel/sound/vox/processing.ogg',
|
||||
"progress" = 'modular_citadel/sound/vox/progress.ogg',
|
||||
"proper" = 'modular_citadel/sound/vox/proper.ogg',
|
||||
"propulsion" = 'modular_citadel/sound/vox/propulsion.ogg',
|
||||
"prosecute" = 'modular_citadel/sound/vox/prosecute.ogg',
|
||||
"protective" = 'modular_citadel/sound/vox/protective.ogg',
|
||||
"push" = 'modular_citadel/sound/vox/push.ogg',
|
||||
"quantum" = 'modular_citadel/sound/vox/quantum.ogg',
|
||||
"quebec" = 'modular_citadel/sound/vox/quebec.ogg',
|
||||
"question" = 'modular_citadel/sound/vox/question.ogg',
|
||||
"questioning" = 'modular_citadel/sound/vox/questioning.ogg',
|
||||
"quick" = 'modular_citadel/sound/vox/quick.ogg',
|
||||
"quit" = 'modular_citadel/sound/vox/quit.ogg',
|
||||
"radiation" = 'modular_citadel/sound/vox/radiation.ogg',
|
||||
"radioactive" = 'modular_citadel/sound/vox/radioactive.ogg',
|
||||
"rads" = 'modular_citadel/sound/vox/rads.ogg',
|
||||
"rapid" = 'modular_citadel/sound/vox/rapid.ogg',
|
||||
"reach" = 'modular_citadel/sound/vox/reach.ogg',
|
||||
"reached" = 'modular_citadel/sound/vox/reached.ogg',
|
||||
"reactor" = 'modular_citadel/sound/vox/reactor.ogg',
|
||||
"red" = 'modular_citadel/sound/vox/red.ogg',
|
||||
"relay" = 'modular_citadel/sound/vox/relay.ogg',
|
||||
"released" = 'modular_citadel/sound/vox/released.ogg',
|
||||
"remaining" = 'modular_citadel/sound/vox/remaining.ogg',
|
||||
"renegade" = 'modular_citadel/sound/vox/renegade.ogg',
|
||||
"repair" = 'modular_citadel/sound/vox/repair.ogg',
|
||||
"report" = 'modular_citadel/sound/vox/report.ogg',
|
||||
"reports" = 'modular_citadel/sound/vox/reports.ogg',
|
||||
"required" = 'modular_citadel/sound/vox/required.ogg',
|
||||
"research" = 'modular_citadel/sound/vox/research.ogg',
|
||||
"reset" = 'modular_citadel/sound/vox/reset.ogg',
|
||||
"resevoir" = 'modular_citadel/sound/vox/resevoir.ogg',
|
||||
"resistance" = 'modular_citadel/sound/vox/resistance.ogg',
|
||||
"returned" = 'modular_citadel/sound/vox/returned.ogg',
|
||||
"right" = 'modular_citadel/sound/vox/right.ogg',
|
||||
"rocket" = 'modular_citadel/sound/vox/rocket.ogg',
|
||||
"roger" = 'modular_citadel/sound/vox/roger.ogg',
|
||||
"romeo" = 'modular_citadel/sound/vox/romeo.ogg',
|
||||
"room" = 'modular_citadel/sound/vox/room.ogg',
|
||||
"round" = 'modular_citadel/sound/vox/round.ogg',
|
||||
"run" = 'modular_citadel/sound/vox/run.ogg',
|
||||
"safe" = 'modular_citadel/sound/vox/safe.ogg',
|
||||
"safety" = 'modular_citadel/sound/vox/safety.ogg',
|
||||
"sargeant" = 'modular_citadel/sound/vox/sargeant.ogg',
|
||||
"satellite" = 'modular_citadel/sound/vox/satellite.ogg',
|
||||
"save" = 'modular_citadel/sound/vox/save.ogg',
|
||||
"science" = 'modular_citadel/sound/vox/science.ogg',
|
||||
"scores" = 'modular_citadel/sound/vox/scores.ogg',
|
||||
"scream" = 'modular_citadel/sound/vox/scream.ogg',
|
||||
"screen" = 'modular_citadel/sound/vox/screen.ogg',
|
||||
"search" = 'modular_citadel/sound/vox/search.ogg',
|
||||
"second" = 'modular_citadel/sound/vox/second.ogg',
|
||||
"secondary" = 'modular_citadel/sound/vox/secondary.ogg',
|
||||
"seconds" = 'modular_citadel/sound/vox/seconds.ogg',
|
||||
"sector" = 'modular_citadel/sound/vox/sector.ogg',
|
||||
"secure" = 'modular_citadel/sound/vox/secure.ogg',
|
||||
"secured" = 'modular_citadel/sound/vox/secured.ogg',
|
||||
"security" = 'modular_citadel/sound/vox/security.ogg',
|
||||
"select" = 'modular_citadel/sound/vox/select.ogg',
|
||||
"selected" = 'modular_citadel/sound/vox/selected.ogg',
|
||||
"service" = 'modular_citadel/sound/vox/service.ogg',
|
||||
"seven" = 'modular_citadel/sound/vox/seven.ogg',
|
||||
"seventeen" = 'modular_citadel/sound/vox/seventeen.ogg',
|
||||
"seventy" = 'modular_citadel/sound/vox/seventy.ogg',
|
||||
"severe" = 'modular_citadel/sound/vox/severe.ogg',
|
||||
"sewage" = 'modular_citadel/sound/vox/sewage.ogg',
|
||||
"sewer" = 'modular_citadel/sound/vox/sewer.ogg',
|
||||
"shield" = 'modular_citadel/sound/vox/shield.ogg',
|
||||
"shipment" = 'modular_citadel/sound/vox/shipment.ogg',
|
||||
"shock" = 'modular_citadel/sound/vox/shock.ogg',
|
||||
"shoot" = 'modular_citadel/sound/vox/shoot.ogg',
|
||||
"shower" = 'modular_citadel/sound/vox/shower.ogg',
|
||||
"shut" = 'modular_citadel/sound/vox/shut.ogg',
|
||||
"side" = 'modular_citadel/sound/vox/side.ogg',
|
||||
"sierra" = 'modular_citadel/sound/vox/sierra.ogg',
|
||||
"sight" = 'modular_citadel/sound/vox/sight.ogg',
|
||||
"silo" = 'modular_citadel/sound/vox/silo.ogg',
|
||||
"six" = 'modular_citadel/sound/vox/six.ogg',
|
||||
"sixteen" = 'modular_citadel/sound/vox/sixteen.ogg',
|
||||
"sixty" = 'modular_citadel/sound/vox/sixty.ogg',
|
||||
"slime" = 'modular_citadel/sound/vox/slime.ogg',
|
||||
"slow" = 'modular_citadel/sound/vox/slow.ogg',
|
||||
"soldier" = 'modular_citadel/sound/vox/soldier.ogg',
|
||||
"some" = 'modular_citadel/sound/vox/some.ogg',
|
||||
"someone" = 'modular_citadel/sound/vox/someone.ogg',
|
||||
"something" = 'modular_citadel/sound/vox/something.ogg',
|
||||
"son" = 'modular_citadel/sound/vox/son.ogg',
|
||||
"sorry" = 'modular_citadel/sound/vox/sorry.ogg',
|
||||
"south" = 'modular_citadel/sound/vox/south.ogg',
|
||||
"squad" = 'modular_citadel/sound/vox/squad.ogg',
|
||||
"square" = 'modular_citadel/sound/vox/square.ogg',
|
||||
"stairway" = 'modular_citadel/sound/vox/stairway.ogg',
|
||||
"status" = 'modular_citadel/sound/vox/status.ogg',
|
||||
"sterile" = 'modular_citadel/sound/vox/sterile.ogg',
|
||||
"sterilization" = 'modular_citadel/sound/vox/sterilization.ogg',
|
||||
"stolen" = 'modular_citadel/sound/vox/stolen.ogg',
|
||||
"storage" = 'modular_citadel/sound/vox/storage.ogg',
|
||||
"sub" = 'modular_citadel/sound/vox/sub.ogg',
|
||||
"subsurface" = 'modular_citadel/sound/vox/subsurface.ogg',
|
||||
"sudden" = 'modular_citadel/sound/vox/sudden.ogg',
|
||||
"suit" = 'modular_citadel/sound/vox/suit.ogg',
|
||||
"superconducting" = 'modular_citadel/sound/vox/superconducting.ogg',
|
||||
"supercooled" = 'modular_citadel/sound/vox/supercooled.ogg',
|
||||
"supply" = 'modular_citadel/sound/vox/supply.ogg',
|
||||
"surface" = 'modular_citadel/sound/vox/surface.ogg',
|
||||
"surrender" = 'modular_citadel/sound/vox/surrender.ogg',
|
||||
"surround" = 'modular_citadel/sound/vox/surround.ogg',
|
||||
"surrounded" = 'modular_citadel/sound/vox/surrounded.ogg',
|
||||
"switch" = 'modular_citadel/sound/vox/switch.ogg',
|
||||
"system" = 'modular_citadel/sound/vox/system.ogg',
|
||||
"systems" = 'modular_citadel/sound/vox/systems.ogg',
|
||||
"tactical" = 'modular_citadel/sound/vox/tactical.ogg',
|
||||
"take" = 'modular_citadel/sound/vox/take.ogg',
|
||||
"talk" = 'modular_citadel/sound/vox/talk.ogg',
|
||||
"tango" = 'modular_citadel/sound/vox/tango.ogg',
|
||||
"tank" = 'modular_citadel/sound/vox/tank.ogg',
|
||||
"target" = 'modular_citadel/sound/vox/target.ogg',
|
||||
"team" = 'modular_citadel/sound/vox/team.ogg',
|
||||
"temperature" = 'modular_citadel/sound/vox/temperature.ogg',
|
||||
"temporal" = 'modular_citadel/sound/vox/temporal.ogg',
|
||||
"ten" = 'modular_citadel/sound/vox/ten.ogg',
|
||||
"terminal" = 'modular_citadel/sound/vox/terminal.ogg',
|
||||
"terminated" = 'modular_citadel/sound/vox/terminated.ogg',
|
||||
"termination" = 'modular_citadel/sound/vox/termination.ogg',
|
||||
"test" = 'modular_citadel/sound/vox/test.ogg',
|
||||
"that" = 'modular_citadel/sound/vox/that.ogg',
|
||||
"the" = 'modular_citadel/sound/vox/the.ogg',
|
||||
"then" = 'modular_citadel/sound/vox/then.ogg',
|
||||
"there" = 'modular_citadel/sound/vox/there.ogg',
|
||||
"third" = 'modular_citadel/sound/vox/third.ogg',
|
||||
"thirteen" = 'modular_citadel/sound/vox/thirteen.ogg',
|
||||
"thirty" = 'modular_citadel/sound/vox/thirty.ogg',
|
||||
"this" = 'modular_citadel/sound/vox/this.ogg',
|
||||
"those" = 'modular_citadel/sound/vox/those.ogg',
|
||||
"thousand" = 'modular_citadel/sound/vox/thousand.ogg',
|
||||
"threat" = 'modular_citadel/sound/vox/threat.ogg',
|
||||
"three" = 'modular_citadel/sound/vox/three.ogg',
|
||||
"through" = 'modular_citadel/sound/vox/through.ogg',
|
||||
"time" = 'modular_citadel/sound/vox/time.ogg',
|
||||
"to" = 'modular_citadel/sound/vox/to.ogg',
|
||||
"top" = 'modular_citadel/sound/vox/top.ogg',
|
||||
"topside" = 'modular_citadel/sound/vox/topside.ogg',
|
||||
"touch" = 'modular_citadel/sound/vox/touch.ogg',
|
||||
"towards" = 'modular_citadel/sound/vox/towards.ogg',
|
||||
"track" = 'modular_citadel/sound/vox/track.ogg',
|
||||
"train" = 'modular_citadel/sound/vox/train.ogg',
|
||||
"transportation" = 'modular_citadel/sound/vox/transportation.ogg',
|
||||
"truck" = 'modular_citadel/sound/vox/truck.ogg',
|
||||
"tunnel" = 'modular_citadel/sound/vox/tunnel.ogg',
|
||||
"turn" = 'modular_citadel/sound/vox/turn.ogg',
|
||||
"turret" = 'modular_citadel/sound/vox/turret.ogg',
|
||||
"twelve" = 'modular_citadel/sound/vox/twelve.ogg',
|
||||
"twenty" = 'modular_citadel/sound/vox/twenty.ogg',
|
||||
"two" = 'modular_citadel/sound/vox/two.ogg',
|
||||
"unauthorized" = 'modular_citadel/sound/vox/unauthorized.ogg',
|
||||
"under" = 'modular_citadel/sound/vox/under.ogg',
|
||||
"uniform" = 'modular_citadel/sound/vox/uniform.ogg',
|
||||
"unlocked" = 'modular_citadel/sound/vox/unlocked.ogg',
|
||||
"until" = 'modular_citadel/sound/vox/until.ogg',
|
||||
"up" = 'modular_citadel/sound/vox/up.ogg',
|
||||
"upper" = 'modular_citadel/sound/vox/upper.ogg',
|
||||
"uranium" = 'modular_citadel/sound/vox/uranium.ogg',
|
||||
"us" = 'modular_citadel/sound/vox/us.ogg',
|
||||
"usa" = 'modular_citadel/sound/vox/usa.ogg',
|
||||
"use" = 'modular_citadel/sound/vox/use.ogg',
|
||||
"used" = 'modular_citadel/sound/vox/used.ogg',
|
||||
"user" = 'modular_citadel/sound/vox/user.ogg',
|
||||
"vacate" = 'modular_citadel/sound/vox/vacate.ogg',
|
||||
"valid" = 'modular_citadel/sound/vox/valid.ogg',
|
||||
"vapor" = 'modular_citadel/sound/vox/vapor.ogg',
|
||||
"vent" = 'modular_citadel/sound/vox/vent.ogg',
|
||||
"ventillation" = 'modular_citadel/sound/vox/ventillation.ogg',
|
||||
"victor" = 'modular_citadel/sound/vox/victor.ogg',
|
||||
"violated" = 'modular_citadel/sound/vox/violated.ogg',
|
||||
"violation" = 'modular_citadel/sound/vox/violation.ogg',
|
||||
"voltage" = 'modular_citadel/sound/vox/voltage.ogg',
|
||||
"vox_login" = 'modular_citadel/sound/vox/vox_login.ogg',
|
||||
"walk" = 'modular_citadel/sound/vox/walk.ogg',
|
||||
"wall" = 'modular_citadel/sound/vox/wall.ogg',
|
||||
"want" = 'modular_citadel/sound/vox/want.ogg',
|
||||
"wanted" = 'modular_citadel/sound/vox/wanted.ogg',
|
||||
"warm" = 'modular_citadel/sound/vox/warm.ogg',
|
||||
"warn" = 'modular_citadel/sound/vox/warn.ogg',
|
||||
"warning" = 'modular_citadel/sound/vox/warning.ogg',
|
||||
"waste" = 'modular_citadel/sound/vox/waste.ogg',
|
||||
"water" = 'modular_citadel/sound/vox/water.ogg',
|
||||
"we" = 'modular_citadel/sound/vox/we.ogg',
|
||||
"weapon" = 'modular_citadel/sound/vox/weapon.ogg',
|
||||
"west" = 'modular_citadel/sound/vox/west.ogg',
|
||||
"whiskey" = 'modular_citadel/sound/vox/whiskey.ogg',
|
||||
"white" = 'modular_citadel/sound/vox/white.ogg',
|
||||
"wilco" = 'modular_citadel/sound/vox/wilco.ogg',
|
||||
"will" = 'modular_citadel/sound/vox/will.ogg',
|
||||
"with" = 'modular_citadel/sound/vox/with.ogg',
|
||||
"without" = 'modular_citadel/sound/vox/without.ogg',
|
||||
"woop" = 'modular_citadel/sound/vox/woop.ogg',
|
||||
"xeno" = 'modular_citadel/sound/vox/xeno.ogg',
|
||||
"yankee" = 'modular_citadel/sound/vox/yankee.ogg',
|
||||
"yards" = 'modular_citadel/sound/vox/yards.ogg',
|
||||
"year" = 'modular_citadel/sound/vox/year.ogg',
|
||||
"yellow" = 'modular_citadel/sound/vox/yellow.ogg',
|
||||
"yes" = 'modular_citadel/sound/vox/yes.ogg',
|
||||
"you" = 'modular_citadel/sound/vox/you.ogg',
|
||||
"your" = 'modular_citadel/sound/vox/your.ogg',
|
||||
"yourself" = 'modular_citadel/sound/vox/yourself.ogg',
|
||||
"zero" = 'modular_citadel/sound/vox/zero.ogg',
|
||||
"zone" = 'modular_citadel/sound/vox/zone.ogg',
|
||||
"zulu" = 'modular_citadel/sound/vox/zulu.ogg',))
|
||||
#endif
|
||||
@@ -13,13 +13,23 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
w_class = 3
|
||||
hitsound = 'sound/weapons/bite.ogg'
|
||||
sharpness = IS_SHARP
|
||||
var/stamtostunconversion = 0.1 //Total stamloss gets multiplied by this value for the help intent hard stun. Resting adds an additional 2x multiplier on top. Keep this low or so help me god.
|
||||
var/stuncooldown = 4 SECONDS //How long it takes before you're able to attempt to stun a target again
|
||||
var/nextstuntime
|
||||
|
||||
/obj/item/dogborg/jaws/examine(mob/user)
|
||||
. = ..()
|
||||
if(!CONFIG_GET(flag/weaken_secborg))
|
||||
to_chat(user, "<span class='notice'>Use help intent to attempt to non-lethally incapacitate the target by latching on with your maw. This is more effective against exhausted and resting targets.</span>")
|
||||
|
||||
/obj/item/dogborg/jaws/big
|
||||
name = "combat jaws"
|
||||
desc = "The jaws of the law. Very sharp."
|
||||
icon_state = "jaws"
|
||||
force = 10 //Lowered to match secborg. No reason it should be more than a secborg's baton.
|
||||
force = 15 //Chomp chomp. Crew harm.
|
||||
attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced")
|
||||
stamtostunconversion = 0.2 // 100*0.2*2=40. Stun's just long enough to slap on cuffs with click delay if the target is near hard stamcrit.
|
||||
stuncooldown = 6 SECONDS
|
||||
|
||||
|
||||
/obj/item/dogborg/jaws/small
|
||||
@@ -31,11 +41,36 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
var/status = 0
|
||||
|
||||
/obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user)
|
||||
..()
|
||||
user.do_attack_animation(A, ATTACK_EFFECT_BITE)
|
||||
if(!istype(user))
|
||||
return
|
||||
if(!CONFIG_GET(flag/weaken_secborg) && user.a_intent != INTENT_HARM && istype(A, /mob/living))
|
||||
if(A == user.pulling)
|
||||
to_chat(user, "<span class='warning'>You already have [A] in your jaws.</span>")
|
||||
return
|
||||
if(nextstuntime >= world.time)
|
||||
to_chat(user, "<span class='warning'>Your jaw servos are still recharging.</span>")
|
||||
return
|
||||
nextstuntime = world.time + stuncooldown
|
||||
var/mob/living/M = A
|
||||
var/cachedstam = M.getStaminaLoss()
|
||||
var/totalstuntime = cachedstam * stamtostunconversion * (M.lying ? 2 : 1)
|
||||
if(!M.resting)
|
||||
M.Knockdown(cachedstam*2) //BORK BORK. GET DOWN.
|
||||
M.Stun(totalstuntime)
|
||||
user.do_attack_animation(A, ATTACK_EFFECT_BITE)
|
||||
user.start_pulling(M, TRUE) //Yip yip. Come with.
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
M.visible_message("<span class='danger'>[user] clamps [user.p_their()] [src] onto [M] and latches on!</span>", "<span class='userdanger'>[user] clamps [user.p_their()] [src] onto you and latches on!</span>")
|
||||
if(totalstuntime >= 4 SECONDS)
|
||||
playsound(usr, 'sound/effects/k9_jaw_strong.ogg', 75, FALSE, 2) //Wuff wuff. Big stun.
|
||||
else
|
||||
playsound(usr, 'sound/effects/k9_jaw_weak.ogg', 50, TRUE, -1) //Arf arf. Pls buff.
|
||||
else
|
||||
. = ..()
|
||||
user.do_attack_animation(A, ATTACK_EFFECT_BITE)
|
||||
|
||||
/obj/item/dogborg/jaws/small/attack_self(mob/user)
|
||||
var/mob/living/silicon/robot.R = user
|
||||
var/mob/living/silicon/robot/R = user
|
||||
if(R.cell && R.cell.charge > 100)
|
||||
if(R.emagged && status == 0)
|
||||
name = "combat jaws"
|
||||
@@ -43,14 +78,18 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
desc = "The jaws of the law."
|
||||
force = 12
|
||||
attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced")
|
||||
stamtostunconversion = 0.15
|
||||
stuncooldown = 5 SECONDS
|
||||
status = 1
|
||||
to_chat(user, "<span class='notice'>Your jaws are now [status ? "Combat" : "Pup'd"].</span>")
|
||||
else
|
||||
name = "puppy jaws"
|
||||
icon_state = "smalljaws"
|
||||
desc = "The jaws of a small dog."
|
||||
force = 5
|
||||
force = initial(force)
|
||||
attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed")
|
||||
stamtostunconversion = initial(stamtostunconversion)
|
||||
stuncooldown = initial(stuncooldown)
|
||||
status = 0
|
||||
if(R.emagged)
|
||||
to_chat(user, "<span class='notice'>Your jaws are now [status ? "Combat" : "Pup'd"].</span>")
|
||||
@@ -143,7 +182,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
|
||||
/obj/item/storage/bag/borgdelivery/ComponentInitialize()
|
||||
. = ..()
|
||||
GET_COMPONENT(STR, /datum/component/storage)
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_w_class = WEIGHT_CLASS_BULKY
|
||||
STR.max_combined_w_class = 5
|
||||
STR.max_items = 1
|
||||
@@ -167,7 +206,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
item_flags |= NOBLUDGEON //No more attack messages
|
||||
|
||||
/obj/item/soap/tongue/attack_self(mob/user)
|
||||
var/mob/living/silicon/robot.R = user
|
||||
var/mob/living/silicon/robot/R = user
|
||||
if(R.cell && R.cell.charge > 100)
|
||||
if(R.emagged && status == 0)
|
||||
status = !status
|
||||
@@ -187,7 +226,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
update_icon()
|
||||
|
||||
/obj/item/soap/tongue/afterattack(atom/target, mob/user, proximity)
|
||||
var/mob/living/silicon/robot.R = user
|
||||
var/mob/living/silicon/robot/R = user
|
||||
if(!proximity || !check_allowed_items(target))
|
||||
return
|
||||
if(R.client && (target in R.client.screen))
|
||||
@@ -273,7 +312,6 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
target.wash_cream()
|
||||
return
|
||||
|
||||
<<<<<<< HEAD
|
||||
//Nerfed tongue for flavour reasons (haha geddit?). Used for aux skins for regular borgs
|
||||
/obj/item/soap/tongue/flavour
|
||||
desc = "For giving affectionate kisses."
|
||||
@@ -310,8 +348,6 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
user.visible_message("<span class='notice'>[user] [pick(attack_verb)] \the [target.name] with their nose!</span>")
|
||||
|
||||
|
||||
=======
|
||||
>>>>>>> parent of b404e18b15... Merge branch 'master' into FERMICHEMCurTweaks
|
||||
//Dogfood
|
||||
|
||||
/obj/item/trash/rkibble
|
||||
@@ -346,8 +382,10 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
/mob/living/silicon/robot
|
||||
var/leaping = 0
|
||||
var/pounce_cooldown = 0
|
||||
var/pounce_cooldown_time = 20 //Buffed to counter balance changes
|
||||
var/pounce_spoolup = 1
|
||||
var/pounce_cooldown_time = 30 //Time in deciseconds between pounces
|
||||
var/pounce_spoolup = 5 //Time in deciseconds for the pounce to happen after clicking
|
||||
var/pounce_stamloss_cap = 120 //How much staminaloss pounces alone are capable of bringing a spaceman to
|
||||
var/pounce_stamloss = 80 //Base staminaloss value of the pounce
|
||||
var/leap_at
|
||||
var/disabler
|
||||
var/laser
|
||||
@@ -359,13 +397,12 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
|
||||
/obj/item/dogborg/pounce/afterattack(atom/A, mob/user)
|
||||
var/mob/living/silicon/robot/R = user
|
||||
if(R && !R.pounce_cooldown)
|
||||
R.pounce_cooldown = !R.pounce_cooldown
|
||||
if(R && (world.time >= R.pounce_cooldown))
|
||||
R.pounce_cooldown = world.time + R.pounce_cooldown_time
|
||||
to_chat(R, "<span class ='warning'>Your targeting systems lock on to [A]...</span>")
|
||||
playsound(R, 'sound/effects/servostep.ogg', 100, TRUE)
|
||||
addtimer(CALLBACK(R, /mob/living/silicon/robot.proc/leap_at, A), R.pounce_spoolup)
|
||||
spawn(R.pounce_cooldown_time)
|
||||
R.pounce_cooldown = !R.pounce_cooldown
|
||||
else if(R && R.pounce_cooldown)
|
||||
else if(R && (world.time < R.pounce_cooldown))
|
||||
to_chat(R, "<span class='danger'>Your leg actuators are still recharging!</span>")
|
||||
|
||||
/mob/living/silicon/robot/proc/leap_at(atom/A)
|
||||
@@ -388,6 +425,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
update_icons()
|
||||
throw_at(A, MAX_K9_LEAP_DIST, 1, spin=0, diagonals_first = 1)
|
||||
cell.use(750) //Less than a stunbaton since stunbatons hit everytime.
|
||||
playsound(src, 'sound/effects/stealthoff.ogg', 25, TRUE, -1)
|
||||
weather_immunities -= "lava"
|
||||
|
||||
/mob/living/silicon/robot/throw_impact(atom/A)
|
||||
@@ -405,7 +443,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
|
||||
blocked = 1
|
||||
if(!blocked)
|
||||
L.visible_message("<span class ='danger'>[src] pounces on [L]!</span>", "<span class ='userdanger'>[src] pounces on you!</span>")
|
||||
L.Knockdown(iscarbon(L) ? 225 : 45) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice.
|
||||
L.Knockdown(iscarbon(L) ? 60 : 45, override_stamdmg = CLAMP(pounce_stamloss, 0, pounce_stamloss_cap-L.getStaminaLoss())) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice.
|
||||
playsound(src, 'sound/weapons/Egloves.ogg', 50, 1)
|
||||
sleep(2)//Runtime prevention (infinite bump() calls on hulks)
|
||||
step_towards(src,L)
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
mob/living/silicon
|
||||
no_vore = TRUE
|
||||
|
||||
/mob/living/silicon/robot
|
||||
var/dogborg = FALSE
|
||||
|
||||
/mob/living/silicon/robot/lay_down()
|
||||
..()
|
||||
update_canmove()
|
||||
|
||||
/mob/living/silicon/robot/update_canmove()
|
||||
..()
|
||||
if(client && stat != DEAD && dogborg == FALSE)
|
||||
if(resting)
|
||||
cut_overlays()
|
||||
icon_state = "[module.cyborg_base_icon]-rest"
|
||||
else
|
||||
icon_state = "[module.cyborg_base_icon]"
|
||||
update_icons()
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/silicon/robot/adjustStaminaLossBuffered(amount, updating_stamina = 1)
|
||||
if(istype(cell))
|
||||
cell.charge -= amount*5
|
||||
@@ -1,465 +0,0 @@
|
||||
/mob/living/silicon/robot/modules/medihound
|
||||
set_module = /obj/item/robot_module/medihound
|
||||
|
||||
/mob/living/silicon/robot/modules/k9
|
||||
set_module = /obj/item/robot_module/k9
|
||||
|
||||
/mob/living/silicon/robot/modules/scrubpup
|
||||
set_module = /obj/item/robot_module/scrubpup
|
||||
|
||||
/mob/living/silicon/robot/modules/borgi
|
||||
set_module = /obj/item/robot_module/borgi
|
||||
|
||||
/mob/living/silicon/robot/proc/get_cit_modules()
|
||||
var/list/modulelist = list()
|
||||
modulelist["MediHound"] = /obj/item/robot_module/medihound
|
||||
if(!CONFIG_GET(flag/disable_secborg))
|
||||
modulelist["Security K-9"] = /obj/item/robot_module/k9
|
||||
modulelist["Scrub Puppy"] = /obj/item/robot_module/scrubpup
|
||||
modulelist["Borgi"] = /obj/item/robot_module/borgi
|
||||
return modulelist
|
||||
|
||||
/obj/item/robot_module
|
||||
var/sleeper_overlay
|
||||
var/icon/cyborg_icon_override
|
||||
var/has_snowflake_deadsprite
|
||||
var/cyborg_pixel_offset
|
||||
var/moduleselect_alternate_icon
|
||||
var/dogborg = FALSE
|
||||
|
||||
/obj/item/robot_module/k9
|
||||
name = "Security K-9 Unit"
|
||||
basic_modules = list(
|
||||
/obj/item/restraints/handcuffs/cable/zipties,
|
||||
/obj/item/storage/bag/borgdelivery,
|
||||
/obj/item/dogborg/jaws/big,
|
||||
/obj/item/dogborg/pounce,
|
||||
/obj/item/clothing/mask/gas/sechailer/cyborg,
|
||||
/obj/item/soap/tongue,
|
||||
/obj/item/analyzer/nose,
|
||||
/obj/item/dogborg/sleeper/K9,
|
||||
/obj/item/gun/energy/disabler/cyborg,
|
||||
/obj/item/pinpointer/crew)
|
||||
emag_modules = list(/obj/item/gun/energy/laser/cyborg)
|
||||
ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
|
||||
/obj/item/clockwork/weapon/ratvarian_spear)
|
||||
cyborg_base_icon = "k9"
|
||||
moduleselect_icon = "k9"
|
||||
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
|
||||
can_be_pushed = FALSE
|
||||
hat_offset = INFINITY
|
||||
sleeper_overlay = "ksleeper"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
|
||||
/obj/item/robot_module/k9/do_transform_animation()
|
||||
..()
|
||||
to_chat(loc,"<span class='userdanger'>While you have picked the Security K-9 module, you still have to follow your laws, NOT Space Law. \
|
||||
For Crewsimov, this means you must follow criminals' orders unless there is a law 1 reason not to.</span>")
|
||||
|
||||
/obj/item/robot_module/k9/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/list/sechoundmodels = list("Default", "Dark", "Vale")
|
||||
if(R.client && R.client.ckey in list("nezuli"))
|
||||
sechoundmodels += "Alina"
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in sechoundmodels
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "k9"
|
||||
if("Alina")
|
||||
cyborg_base_icon = "alina-sec"
|
||||
special_light_key = "alina"
|
||||
sleeper_overlay = "alinasleeper"
|
||||
if("Dark")
|
||||
cyborg_base_icon = "k9dark"
|
||||
if("Vale")
|
||||
cyborg_base_icon = "valesec"
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/medihound
|
||||
name = "MediHound"
|
||||
basic_modules = list(
|
||||
/obj/item/dogborg/jaws/small,
|
||||
/obj/item/storage/bag/borgdelivery,
|
||||
/obj/item/analyzer/nose,
|
||||
/obj/item/soap/tongue,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/healthanalyzer,
|
||||
/obj/item/dogborg/sleeper/medihound,
|
||||
/obj/item/roller/robo,
|
||||
/obj/item/reagent_containers/borghypo,
|
||||
/obj/item/twohanded/shockpaddles/cyborg/hound,
|
||||
/obj/item/stack/medical/gauze/cyborg,
|
||||
/obj/item/pinpointer/crew,
|
||||
/obj/item/sensor_device)
|
||||
emag_modules = list(/obj/item/dogborg/pounce)
|
||||
ratvar_modules = list(/obj/item/clockwork/slab/cyborg/medical,
|
||||
/obj/item/clockwork/weapon/ratvarian_spear)
|
||||
cyborg_base_icon = "medihound"
|
||||
moduleselect_icon = "medihound"
|
||||
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
|
||||
can_be_pushed = FALSE
|
||||
hat_offset = INFINITY
|
||||
sleeper_overlay = "msleeper"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
|
||||
/obj/item/robot_module/medihound/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/list/medhoundmodels = list("Default", "Dark", "Vale")
|
||||
if(R.client && R.client.ckey in list("nezuli"))
|
||||
medhoundmodels += "Alina"
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in medhoundmodels
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "medihound"
|
||||
if("Dark")
|
||||
cyborg_base_icon = "medihounddark"
|
||||
sleeper_overlay = "mdsleeper"
|
||||
if("Vale")
|
||||
cyborg_base_icon = "valemed"
|
||||
sleeper_overlay = "valemedsleeper"
|
||||
if("Alina")
|
||||
cyborg_base_icon = "alina-med"
|
||||
special_light_key = "alina"
|
||||
sleeper_overlay = "alinasleeper"
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/scrubpup
|
||||
name = "Scrub Pup"
|
||||
basic_modules = list(
|
||||
/obj/item/dogborg/jaws/small,
|
||||
/obj/item/analyzer/nose,
|
||||
/obj/item/soap/tongue/scrubpup,
|
||||
/obj/item/lightreplacer/cyborg,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/dogborg/sleeper/compactor)
|
||||
emag_modules = list(/obj/item/dogborg/pounce)
|
||||
ratvar_modules = list(
|
||||
/obj/item/clockwork/slab/cyborg/janitor,
|
||||
/obj/item/clockwork/replica_fabricator/cyborg)
|
||||
cyborg_base_icon = "scrubpup"
|
||||
moduleselect_icon = "janitor"
|
||||
hat_offset = INFINITY
|
||||
clean_on_move = TRUE
|
||||
sleeper_overlay = "jsleeper"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
dogborg = TRUE
|
||||
|
||||
/obj/item/robot_module/scrubpup/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
|
||||
..()
|
||||
var/obj/item/lightreplacer/LR = locate(/obj/item/lightreplacer) in basic_modules
|
||||
if(LR)
|
||||
for(var/i in 1 to coeff)
|
||||
LR.Charge(R)
|
||||
|
||||
/obj/item/robot_module/scrubpup/do_transform_animation()
|
||||
..()
|
||||
to_chat(loc,"<span class='userdanger'>As tempting as it might be, do not begin binging on important items. Eat your garbage responsibly. People are not included under Garbage.</span>")
|
||||
|
||||
/obj/item/robot_module/borgi
|
||||
name = "Borgi"
|
||||
basic_modules = list(
|
||||
/obj/item/dogborg/jaws/small,
|
||||
/obj/item/storage/bag/borgdelivery,
|
||||
/obj/item/analyzer/nose,
|
||||
/obj/item/soap/tongue,
|
||||
/obj/item/healthanalyzer,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/borg/cyborghug)
|
||||
emag_modules = list(/obj/item/dogborg/pounce)
|
||||
ratvar_modules = list(
|
||||
/obj/item/clockwork/slab/cyborg,
|
||||
/obj/item/clockwork/weapon/ratvarian_spear,
|
||||
/obj/item/clockwork/replica_fabricator/cyborg)
|
||||
cyborg_base_icon = "borgi"
|
||||
moduleselect_icon = "borgi"
|
||||
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
|
||||
hat_offset = INFINITY
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
|
||||
/*
|
||||
/obj/item/robot_module/orepup
|
||||
name = "Ore Pup"
|
||||
basic_modules = list(
|
||||
/obj/item/storage/bag/ore/cyborg,
|
||||
/obj/item/analyzer/nose,
|
||||
/obj/item/storage/bag/borgdelivery,
|
||||
/obj/item/dogborg/sleeper/ore,
|
||||
/obj/item/pickaxe/drill/cyborg,
|
||||
/obj/item/shovel,
|
||||
/obj/item/crowbar/cyborg,
|
||||
/obj/item/weldingtool/mini,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/t_scanner/adv_mining_scanner,
|
||||
/obj/item/gun/energy/kinetic_accelerator/cyborg,
|
||||
/obj/item/gps/cyborg)
|
||||
emag_modules = list(/obj/item/dogborg/pounce)
|
||||
ratvar_modules = list(
|
||||
/obj/item/clockwork/slab/cyborg/miner,
|
||||
/obj/item/clockwork/weapon/ratvarian_spear,
|
||||
/obj/item/borg/sight/xray/truesight_lens)
|
||||
cyborg_base_icon = "orepup"
|
||||
moduleselect_icon = "orepup"
|
||||
sleeper_overlay = "osleeper"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
|
||||
/obj/item/robot_module/miner/do_transform_animation()
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
R.cut_overlays()
|
||||
R.setDir(SOUTH)
|
||||
flick("orepup_transform", R)
|
||||
do_transform_delay()
|
||||
R.update_headlamp()
|
||||
*/
|
||||
|
||||
/obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "medical"
|
||||
if("Droid")
|
||||
cyborg_base_icon = "medical"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
hat_offset = 4
|
||||
if("Sleek")
|
||||
cyborg_base_icon = "sleekmed"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Marina")
|
||||
cyborg_base_icon = "marinamed"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Eyebot")
|
||||
cyborg_base_icon = "eyebotmed"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavymed"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/janitor/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/list/janimodels = list("Default", "Sleek", "Marina", "Can", "Heavy")
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in janimodels
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "janitor"
|
||||
if("Marina")
|
||||
cyborg_base_icon = "marinajan"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Sleek")
|
||||
cyborg_base_icon = "sleekjan"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Can")
|
||||
cyborg_base_icon = "canjan"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavyres"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Spider")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "peace"
|
||||
if("Spider")
|
||||
cyborg_base_icon = "whitespider"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "sec"
|
||||
if("Default - Treads")
|
||||
cyborg_base_icon = "sec-tread"
|
||||
special_light_key = "sec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Sleek")
|
||||
cyborg_base_icon = "sleeksec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Marina")
|
||||
cyborg_base_icon = "marinasec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Can")
|
||||
cyborg_base_icon = "cansec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Spider")
|
||||
cyborg_base_icon = "spidersec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavysec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/butler/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Waitress", "Heavy", "Sleek", "Butler", "Tophat", "Kent", "Bro", "DarkK9", "Vale", "ValeDark")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Waitress")
|
||||
cyborg_base_icon = "service_f"
|
||||
if("Butler")
|
||||
cyborg_base_icon = "service_m"
|
||||
if("Bro")
|
||||
cyborg_base_icon = "brobot"
|
||||
if("Kent")
|
||||
cyborg_base_icon = "kent"
|
||||
special_light_key = "medical"
|
||||
hat_offset = 3
|
||||
if("Tophat")
|
||||
cyborg_base_icon = "tophat"
|
||||
special_light_key = null
|
||||
hat_offset = INFINITY //He is already wearing a hat
|
||||
if("Sleek")
|
||||
cyborg_base_icon = "sleekserv"
|
||||
special_light_key = "sleekserv"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavyserv"
|
||||
special_light_key = "heavyserv"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("DarkK9")
|
||||
cyborg_base_icon = "k50"
|
||||
special_light_key = "k50"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
if("Vale")
|
||||
cyborg_base_icon = "valeserv"
|
||||
special_light_key = "valeserv"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
if("ValeDark")
|
||||
cyborg_base_icon = "valeservdark"
|
||||
special_light_key = "valeservdark"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/list/engymodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Marina", "Can", "Spider", "Loader","Handy", "Pup Dozer", "Vale")
|
||||
if(R.client && R.client.ckey in list("nezuli"))
|
||||
engymodels += "Alina"
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in engymodels
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Default")
|
||||
cyborg_base_icon = "engineer"
|
||||
if("Default - Treads")
|
||||
cyborg_base_icon = "engi-tread"
|
||||
special_light_key = "engineer"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Loader")
|
||||
cyborg_base_icon = "loaderborg"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
if("Handy")
|
||||
cyborg_base_icon = "handyeng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Sleek")
|
||||
cyborg_base_icon = "sleekeng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Can")
|
||||
cyborg_base_icon = "caneng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Marina")
|
||||
cyborg_base_icon = "marinaeng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Spider")
|
||||
cyborg_base_icon = "spidereng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavyeng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Pup Dozer")
|
||||
cyborg_base_icon = "pupdozer"
|
||||
can_be_pushed = FALSE
|
||||
hat_offset = INFINITY
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
if("Vale")
|
||||
cyborg_base_icon = "valeeng"
|
||||
can_be_pushed = FALSE
|
||||
hat_offset = INFINITY
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
if("Alina")
|
||||
cyborg_base_icon = "alina-eng"
|
||||
special_light_key = "alina"
|
||||
can_be_pushed = FALSE
|
||||
hat_offset = INFINITY
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
dogborg = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/miner/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Lavaland", "Heavy", "Sleek", "Marina", "Can", "Spider", "Asteroid", "Droid")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
if("Lavaland")
|
||||
cyborg_base_icon = "miner"
|
||||
if("Asteroid")
|
||||
cyborg_base_icon = "minerOLD"
|
||||
special_light_key = "miner"
|
||||
if("Droid")
|
||||
cyborg_base_icon = "miner"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
hat_offset = 4
|
||||
if("Sleek")
|
||||
cyborg_base_icon = "sleekmin"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Can")
|
||||
cyborg_base_icon = "canmin"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Marina")
|
||||
cyborg_base_icon = "marinamin"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Spider")
|
||||
cyborg_base_icon = "spidermin"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavymin"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
@@ -11,6 +11,7 @@
|
||||
. = ..()
|
||||
if(!resting && !sprinting)
|
||||
. += 1
|
||||
. += speed
|
||||
|
||||
/mob/living/silicon/robot/proc/togglesprint(shutdown = FALSE) //Basically a copypaste of the proc from /mob/living/carbon/human
|
||||
if(!shutdown && (!cell || cell.charge < 25))
|
||||
@@ -18,11 +19,11 @@
|
||||
sprinting = shutdown ? FALSE : !sprinting
|
||||
if(!resting && canmove)
|
||||
if(sprinting)
|
||||
playsound_local(src, 'modular_citadel/sound/misc/sprintactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
playsound_local(src, 'sound/misc/sprintactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
else
|
||||
if(shutdown)
|
||||
playsound_local(src, 'sound/effects/light_flicker.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
playsound_local(src, 'modular_citadel/sound/misc/sprintdeactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
playsound_local(src, 'sound/misc/sprintdeactivate.ogg', 50, FALSE, pressure_affected = FALSE)
|
||||
if(hud_used && hud_used.static_inventory)
|
||||
for(var/obj/screen/sprintbutton/selector in hud_used.static_inventory)
|
||||
selector.insert_witty_toggle_joke_here(src)
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
/obj/item/seeds/banana/Initialize()
|
||||
. = ..()
|
||||
mutatelist += /obj/item/seeds/banana/exotic_banana
|
||||
|
||||
|
||||
/obj/item/seeds/banana/exotic_banana
|
||||
name = "pack of exotic banana seeds"
|
||||
desc = "They're seeds that grow into banana trees. However, those bananas might be alive."
|
||||
icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
|
||||
icon_state = "seed_ExoticBanana"
|
||||
species = "banana"
|
||||
plantname = "Exotic Banana Tree"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable
|
||||
growing_icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
|
||||
icon_dead = "banana-dead"
|
||||
mutatelist = list()
|
||||
genes = list(/datum/plant_gene/trait/slip)
|
||||
reagents_add = list("banana" = 0.1, "potassium" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable
|
||||
seed = /obj/item/seeds/banana/exotic_banana
|
||||
name = "banana spider"
|
||||
desc = "You do not know what it is, but you can bet the clown would love it."
|
||||
icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
|
||||
icon_state = "banana"
|
||||
item_state = "banana"
|
||||
filling_color = "#FFFF00"
|
||||
list_reagents = list("nutriment" = 3, "vitamin" = 2)
|
||||
foodtype = GROSS | MEAT | RAW | FRUIT
|
||||
grind_results = list("blood" = 20, "liquidgibs" = 5)
|
||||
juice_results = list("banana" = 0)
|
||||
var/awakening = 0
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable/attack_self(mob/user)
|
||||
if(awakening || isspaceturf(user.loc))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You decide to wake up the banana spider...</span>")
|
||||
awakening = 1
|
||||
|
||||
spawn(30)
|
||||
if(!QDELETED(src))
|
||||
var/mob/living/simple_animal/banana_spider/S = new /mob/living/simple_animal/banana_spider(get_turf(src.loc))
|
||||
S.speed += round(10 / seed.potency)
|
||||
S.visible_message("<span class='notice'>The banana spider chitters as it stretches its legs.</span>")
|
||||
qdel(src)
|
||||
|
||||
|
||||
/mob/living/simple_animal/banana_spider
|
||||
icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
|
||||
name = "banana spider"
|
||||
desc = "What the fuck is this abomination?"
|
||||
icon_state = "banana"
|
||||
icon_dead = "banana_peel"
|
||||
health = 1
|
||||
maxHealth = 1
|
||||
turns_per_move = 5 //this isn't player speed =|
|
||||
speed = 2 //this is player speed
|
||||
loot = list(/obj/item/reagent_containers/food/snacks/deadbanana_spider)
|
||||
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)
|
||||
minbodytemp = 270
|
||||
maxbodytemp = INFINITY
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
mob_size = MOB_SIZE_TINY
|
||||
response_help = "pokes"
|
||||
response_disarm = "shoos"
|
||||
response_harm = "splats"
|
||||
speak_emote = list("chitters")
|
||||
mouse_opacity = 2
|
||||
density = TRUE
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
verb_say = "chitters"
|
||||
verb_ask = "chitters inquisitively"
|
||||
verb_exclaim = "chitters loudly"
|
||||
verb_yell = "chitters loudly"
|
||||
var/squish_chance = 50
|
||||
var/projectile_density = TRUE //griffons get shot
|
||||
del_on_death = TRUE
|
||||
|
||||
/mob/living/simple_animal/banana_spider/Initialize()
|
||||
. = ..()
|
||||
var/area/A = get_area(src)
|
||||
if(A)
|
||||
notify_ghosts("A banana spider has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE)
|
||||
|
||||
/mob/living/simple_animal/banana_spider/attack_ghost(mob/user)
|
||||
if(key) //please stop using src. without a good reason.
|
||||
return
|
||||
if(CONFIG_GET(flag/use_age_restriction_for_jobs))
|
||||
if(!isnum(user.client.player_age))
|
||||
return
|
||||
if(!SSticker.mode)
|
||||
to_chat(user, "Can't become a banana spider before the game has started.")
|
||||
return
|
||||
var/be_spider = alert("Become a banana spider? (Warning, You can no longer be cloned!)",,"Yes","No")
|
||||
if(be_spider == "No" || QDELETED(src) || !isobserver(user))
|
||||
return
|
||||
sentience_act()
|
||||
user.transfer_ckey(src, FALSE)
|
||||
density = TRUE
|
||||
|
||||
/mob/living/simple_animal/banana_spider/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/slippery, 40)
|
||||
|
||||
/mob/living/simple_animal/banana_spider/Crossed(atom/movable/AM) //no /var in proc headers
|
||||
. = ..()
|
||||
if(istype(AM, /obj/item/projectile) && projectile_density) //forced projectile density
|
||||
var/obj/item/projectile/P = AM
|
||||
P.Bump(src)
|
||||
if(ismob(AM))
|
||||
if(isliving(AM))
|
||||
var/mob/living/A = AM
|
||||
if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING))
|
||||
if(prob(squish_chance))
|
||||
A.visible_message("<span class='notice'>[A] squashed [src].</span>", "<span class='notice'>You squashed [src] under your weight as you fell.</span>")
|
||||
adjustBruteLoss(1)
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
else
|
||||
if(isstructure(AM))
|
||||
if(prob(squish_chance))
|
||||
AM.visible_message("<span class='notice'>[src] was crushed under [AM]'s weight as they fell.</span>")
|
||||
adjustBruteLoss(1)
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
|
||||
/mob/living/simple_animal/banana_spider/ex_act()
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/banana_spider/start_pulling()
|
||||
return FALSE //No.
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/deadbanana_spider
|
||||
name = "dead banana spider"
|
||||
desc = "Thank god it's gone...but it does look slippery."
|
||||
icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
|
||||
icon_state = "banana_peel"
|
||||
bitesize = 3
|
||||
eatverb = "devours"
|
||||
list_reagents = list("nutriment" = 3, "vitamin" = 2)
|
||||
foodtype = GROSS | MEAT | RAW
|
||||
grind_results = list("blood" = 20, "liquidgibs" = 5)
|
||||
juice_results = list("banana" = 0)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/deadbanana_spider/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/slippery, 20)
|
||||
@@ -1,134 +0,0 @@
|
||||
/mob/living/simple_animal/kiwi
|
||||
name = "space kiwi"
|
||||
desc = "Exposure to low gravity made them grow larger."
|
||||
gender = FEMALE
|
||||
icon = 'modular_citadel/icons/mob/kiwi.dmi'
|
||||
icon_state = "kiwi"
|
||||
icon_living = "kiwi"
|
||||
icon_dead = "dead"
|
||||
speak = list("Chirp!","Cheep cheep chirp!!","Cheep.")
|
||||
speak_emote = list("chirps","trills")
|
||||
emote_hear = list("chirps.")
|
||||
emote_see = list("pecks at the ground.","jumps in place.")
|
||||
density = FALSE
|
||||
speak_chance = 2
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3)
|
||||
var/egg_type = /obj/item/reagent_containers/food/snacks/egg/kiwiEgg
|
||||
var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
attacktext = "kicks"
|
||||
health = 25
|
||||
maxHealth = 25
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
var/eggsleft = 0
|
||||
var/eggsFertile = TRUE
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
var/list/feedMessages = list("It chirps happily.","It chirps happily.")
|
||||
var/list/layMessage = list("lays an egg.","squats down and croons.","begins making a huge racket.","begins chirping raucously.")
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
var/static/kiwi_count = 0
|
||||
|
||||
/mob/living/simple_animal/kiwi/Destroy()
|
||||
--kiwi_count
|
||||
return ..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/kiwi/Initialize()
|
||||
. = ..()
|
||||
++kiwi_count
|
||||
|
||||
|
||||
/mob/living/simple_animal/kiwi/Life()
|
||||
. =..()
|
||||
if(!.)
|
||||
return
|
||||
if((!stat && prob(3) && eggsleft > 0) && egg_type)
|
||||
visible_message("[src] [pick(layMessage)]")
|
||||
eggsleft--
|
||||
var/obj/item/E = new egg_type(get_turf(src))
|
||||
E.pixel_x = rand(-6,6)
|
||||
E.pixel_y = rand(-6,6)
|
||||
if(eggsFertile)
|
||||
if(kiwi_count < MAX_CHICKENS && prob(25))
|
||||
START_PROCESSING(SSobj, E)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg/process()
|
||||
if(isturf(loc))
|
||||
amount_grown += rand(1,2)
|
||||
if(amount_grown >= 100)
|
||||
visible_message("[src] hatches with a quiet cracking sound.")
|
||||
new /mob/living/simple_animal/babyKiwi(get_turf(src))
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
qdel(src)
|
||||
else
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
/mob/living/simple_animal/kiwi/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, food_type)) //feedin' dem kiwis
|
||||
if(!stat && eggsleft < 8)
|
||||
var/feedmsg = "[user] feeds [O] to [name]! [pick(feedMessages)]"
|
||||
user.visible_message(feedmsg)
|
||||
qdel(O)
|
||||
eggsleft += rand(1, 4)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[name] doesn't seem hungry!</span>")
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_animal/babyKiwi
|
||||
name = "baby space kiwi"
|
||||
desc = "So huggable."
|
||||
icon = 'modular_citadel/icons/mob/kiwi.dmi'
|
||||
icon_state = "babyKiwi"
|
||||
icon_living = "babyKiwi"
|
||||
icon_dead = "deadBaby"
|
||||
icon_gib = "chick_gib"
|
||||
gender = FEMALE
|
||||
speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
|
||||
speak_emote = list("chirps")
|
||||
emote_hear = list("chirps.")
|
||||
emote_see = list("pecks at the ground.","Happily bounces in place.")
|
||||
density = FALSE
|
||||
speak_chance = 2
|
||||
turns_per_move = 2
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
attacktext = "kicks"
|
||||
health = 10
|
||||
maxHealth = 10
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
var/amount_grown = 0
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
mob_size = MOB_SIZE_TINY
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
/mob/living/simple_animal/babyKiwi/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-6, 6)
|
||||
pixel_y = rand(0, 10)
|
||||
|
||||
/mob/living/simple_animal/babyKiwi/Life()
|
||||
. =..()
|
||||
if(!.)
|
||||
return
|
||||
if(!stat && !ckey)
|
||||
amount_grown += rand(1,2)
|
||||
if(amount_grown >= 100)
|
||||
new /mob/living/simple_animal/kiwi(src.loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg
|
||||
name = "kiwi egg"
|
||||
icon = 'modular_citadel/icons/mob/kiwi.dmi'
|
||||
desc = "A slightly bigger egg!"
|
||||
icon_state = "egg"
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
//CARBON MOBS
|
||||
/mob/living/carbon/alien
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
|
||||
/mob/living/carbon/monkey
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
|
||||
|
||||
/*
|
||||
REFER TO code/modules/mob/living/simple_animal/simple_animal_vr.dm for Var information!
|
||||
*/
|
||||
|
||||
|
||||
//NUETRAL MOBS
|
||||
/mob/living/simple_animal/crab
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
|
||||
/mob/living/simple_animal/cow
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_HOLD
|
||||
|
||||
/mob/living/simple_animal/chick
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
|
||||
/mob/living/simple_animal/chicken
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
|
||||
/mob/living/simple_animal/mouse
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
|
||||
/mob/living/simple_animal/kiwi
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
|
||||
//STATION PETS
|
||||
/mob/living/simple_animal/pet
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
|
||||
/mob/living/simple_animal/pet/fox
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_HOLD
|
||||
|
||||
/mob/living/simple_animal/pet/cat
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_HOLD
|
||||
|
||||
/mob/living/simple_animal/pet/dog
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_HOLD
|
||||
|
||||
/mob/living/simple_animal/sloth
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
|
||||
/mob/living/simple_animal/parrot
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
|
||||
//HOSTILE MOBS
|
||||
/mob/living/simple_animal/hostile/retaliate/goat
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_stomach_flavor = "You find yourself squeezed into the hollow of the goat, the smell of oats and hay thick in the tight space, all of which grinds in on you. Harmless for now..."
|
||||
vore_default_mode = DM_HOLD
|
||||
|
||||
/mob/living/simple_animal/hostile/lizard
|
||||
devourable = TRUE
|
||||
digestable = TRUE
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/alien
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/bear
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/poison/giant_spider
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/poison/snake
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/gorilla
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/goliath
|
||||
feeding = TRUE //for pet Goliaths I guess or something.
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
/mob/living/simple_animal/hostile/carp
|
||||
feeding = TRUE
|
||||
vore_active = TRUE
|
||||
isPredator = TRUE
|
||||
vore_default_mode = DM_DIGEST
|
||||
@@ -3,9 +3,11 @@
|
||||
|
||||
/mob/say_mod(input, message_mode)
|
||||
var/customsayverb = findtext(input, "*")
|
||||
if(customsayverb)
|
||||
if(customsayverb && message_mode != MODE_WHISPER_CRIT)
|
||||
message_mode = MODE_CUSTOM_SAY
|
||||
return lowertext(copytext(input, 1, customsayverb))
|
||||
. = ..()
|
||||
else
|
||||
return ..()
|
||||
|
||||
/atom/movable/proc/attach_spans(input, list/spans)
|
||||
var/customsayverb = findtext(input, "*")
|
||||
|
||||
Reference in New Issue
Block a user