Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Xander3359 committed Nov 5, 2023
2 parents bb1c384 + f70d2b6 commit f512234
Show file tree
Hide file tree
Showing 16 changed files with 136 additions and 5 deletions.
6 changes: 5 additions & 1 deletion _maps/map_files/generic/Admin_Level.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1059,6 +1059,10 @@
dir = 5
},
/area/centcom/valhalla/bridge)
"ble" = (
/obj/machinery/vending/medical/valhalla,
/turf/open/floor/tile/dark/gray,
/area/centcom/valhalla/security/brig/interiorcavern)
"blf" = (
/turf/open/floor/tile/neutral/corner{
dir = 4
Expand Down Expand Up @@ -22849,7 +22853,7 @@ fvw
pqM
duo
uOI
etk
ble
etk
hTv
oUq
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ GLOBAL_LIST_INIT(xeno_ai_spawnable, list(
/mob/living/carbon/xenomorph/beetle/ai,
/mob/living/carbon/xenomorph/mantis/ai,
/mob/living/carbon/xenomorph/scorpion/ai,
/mob/living/carbon/xenomorph/nymph/ai,
))

///Heals a xeno, respecting different types of damage
Expand Down
12 changes: 12 additions & 0 deletions code/game/objects/items/reagent_containers/glass/bottle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,18 @@
icon_state = "bottle-5"
list_reagents = list(/datum/reagent/medicine/tricordrazine = 60)

/obj/item/reagent_containers/glass/bottle/paracetamol
name = "\improper Paracetamol bottle"
desc = "A small bottle. Contains paracetamol - a mild, simple painkiller, good for enduring heavy labor."
icon_state = "bottle-1"
list_reagents = list(/datum/reagent/medicine/paracetamol = 60)

/obj/item/reagent_containers/glass/bottle/isotonic
name = "\improper Saline-Glucose bottle"
desc = "A small bottle. Contains saline-glucose, also known as isotonic - used to aid the body in blood restoration."
icon_state = "bottle-1"
list_reagents = list(/datum/reagent/medicine/saline_glucose = 60)

/obj/item/reagent_containers/glass/bottle/meralyne
name = "\improper Meralyne bottle"
desc = "A small bottle. Contains meralyne - used as a potent treatment against brute damage."
Expand Down
19 changes: 17 additions & 2 deletions code/game/objects/machinery/vending/vending_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,11 @@
/obj/item/reagent_containers/glass/bottle/bicaridine = 6,
/obj/item/reagent_containers/glass/bottle/kelotane = 6,
/obj/item/reagent_containers/glass/bottle/tramadol = 6,
/obj/item/reagent_containers/glass/bottle/tricordrazine = 6,
/obj/item/reagent_containers/glass/bottle/dylovene = 6,
/obj/item/reagent_containers/glass/bottle/inaprovaline = 6,
/obj/item/reagent_containers/glass/bottle/paracetamol = 6,
/obj/item/reagent_containers/glass/bottle/isotonic = 6,
/obj/item/reagent_containers/glass/bottle/dexalin = 6,
/obj/item/reagent_containers/glass/bottle/spaceacillin = 6,
/obj/item/reagent_containers/glass/bottle/oxycodone = 6,
Expand Down Expand Up @@ -249,8 +252,11 @@
/obj/item/reagent_containers/glass/bottle/bicaridine = -1,
/obj/item/reagent_containers/glass/bottle/kelotane = -1,
/obj/item/reagent_containers/glass/bottle/tramadol = -1,
/obj/item/reagent_containers/glass/bottle/tricordrazine = -1,
/obj/item/reagent_containers/glass/bottle/dylovene = -1,
/obj/item/reagent_containers/glass/bottle/inaprovaline = -1,
/obj/item/reagent_containers/glass/bottle/paracetamol = -1,
/obj/item/reagent_containers/glass/bottle/isotonic = -1,
/obj/item/reagent_containers/glass/bottle/sleeptoxin = -1,
/obj/item/reagent_containers/glass/bottle/spaceacillin = -1,
/obj/item/reagent_containers/glass/bottle/dexalin = -1,
Expand Down Expand Up @@ -290,14 +296,23 @@
/obj/item/tool/research/excavation_tool = -1,
/obj/item/storage/pouch/surgery = -1,
/obj/item/armor_module/storage/uniform/surgery_webbing = -1,
/obj/item/clothing/glasses/hud/health = -1,
/obj/item/roller = -1,
),
"Chemistry Equipment" = list(
/obj/item/reagent_containers/syringe = -1,
/obj/item/storage/syringe_case/empty = -1,
/obj/item/reagent_containers/glass/beaker/bluespace = -1,
/obj/item/reagent_containers/glass/beaker = -1,
/obj/item/reagent_containers/glass/beaker/large = -1,
/obj/item/reagent_containers/glass/beaker/vial = -1,
/obj/item/reagent_containers/dropper = -1,
/obj/item/clothing/glasses/hud/health = -1,
/obj/item/roller = -1,
/obj/item/storage/reagent_tank = -1,
/obj/item/storage/reagent_tank/bicaridine = -1,
/obj/item/storage/reagent_tank/kelotane = -1,
/obj/item/storage/reagent_tank/tramadol = -1,
/obj/item/storage/reagent_tank/tricordrazine = -1,
/obj/item/storage/reagent_tank/bktt = -1,
),
"Valhalla" = list(
/obj/item/reagent_containers/glass/beaker/bluespace = -1,
Expand Down
17 changes: 17 additions & 0 deletions code/game/objects/structures/window.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,23 @@
if(EXPLODE_WEAK)
take_damage(rand(15, 35), BRUTE, BOMB)

/obj/structure/window/hitby(atom/movable/AM, speed = 5)
var/throw_damage = speed
var/mob/living/thrown_mob
if(isobj(AM))
var/obj/thrown_obj = AM
throw_damage = thrown_obj.throwforce
else if(isliving(AM))
thrown_mob = AM
throw_damage *= thrown_mob.mob_size * 8
take_damage(throw_damage)
if(obj_integrity > 0) //we only stop if we don't break the window
AM.stop_throw()
. = TRUE
if(thrown_mob)
thrown_mob.take_overall_damage(speed * 5, BRUTE, MELEE, !., FALSE, TRUE, 0, 4) //done here for dramatic effect, and to make the damage sharp if we broke the window


//TODO: Make full windows a separate type of window.
//Once a full window, it will always be a full window, so there's no point
//having the same type for both.
Expand Down
5 changes: 5 additions & 0 deletions code/modules/ai/presets/xeno_presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,8 @@
. = ..()
AddComponent(/datum/component/ai_controller, /datum/ai_behavior/xeno)

/mob/living/carbon/xenomorph/nymph/ai

/mob/living/carbon/xenomorph/nymph/ai/Initialize()
. = ..()
AddComponent(/datum/component/ai_controller, /datum/ai_behavior/xeno)
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/abilities.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@

/datum/action/xeno_action/activable/plant_weeds/ai_should_use(target)
if(!can_use_action(override_flags = XACT_IGNORE_SELECTED_ABILITY))
return ..()
return FALSE
var/mob/living/carbon/xenomorph/owner_xeno = owner
if(owner_xeno.loc_weeds_type)
return ..()
return FALSE
return TRUE

/datum/action/xeno_action/activable/plant_weeds/ranged
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/datum/xeno_caste/nymph
caste_name = "Nymph"
display_name = "Nymph"
upgrade_name = ""
caste_desc = ""
wound_type = ""

caste_type_path = /mob/living/carbon/xenomorph/nymph

tier = XENO_TIER_MINION
upgrade = XENO_UPGRADE_BASETYPE

// *** Melee Attacks *** //
melee_damage = 8

// *** Speed *** //
speed = 0

// *** Plasma *** //
plasma_max = 500
plasma_gain = 20

// *** Health *** //
max_health = 120

// *** Flags *** //
caste_flags = CASTE_DO_NOT_ALERT_LOW_LIFE|CASTE_IS_A_MINION|CASTE_IS_BUILDER
can_flags = CASTE_CAN_BE_QUEEN_HEALED|CASTE_CAN_BE_GIVEN_PLASMA

// *** Defense *** //
soft_armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 10, FIRE = 10, ACID = 10)

minimap_icon = "xenominion"

actions = list(
/datum/action/xeno_action/xeno_resting,
/datum/action/xeno_action/activable/secrete_resin,
/datum/action/xeno_action/activable/plant_weeds,
)
14 changes: 14 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/castes/nymph/nymph.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/mob/living/carbon/xenomorph/nymph
caste_base_type = /mob/living/carbon/xenomorph/nymph
name = "Nymph"
desc = "An ant-looking creature."
icon = 'icons/Xeno/castes/nymph.dmi'
icon_state = "Nymph Walking"
health = 200
maxHealth = 200
plasma_stored = 50
pixel_x = -16
old_x = -16
tier = XENO_TIER_MINION
upgrade = XENO_UPGRADE_BASETYPE
pull_speed = -2
3 changes: 3 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/hive_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1105,6 +1105,9 @@ to_chat will check for valid clients itself already so no need to double check f

/// Remove a client from the larva candidate queue
/datum/hive_status/proc/remove_from_larva_candidate_queue(client/waiter)
var/larva_position = SEND_SIGNAL(waiter, COMSIG_CLIENT_GET_LARVA_QUEUE_POSITION)
if (!larva_position)
return // We weren't in the queue
LAZYREMOVE(candidates, waiter)
UnregisterSignal(waiter, COMSIG_QDELETING)
SEND_SIGNAL(waiter, COMSIG_CLIENT_SET_LARVA_QUEUE_POSITION, 0)
Expand Down
5 changes: 5 additions & 0 deletions html/changelogs/AutoChangeLog-pr-14314.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
author: "Xander3359"
delete-after: True
changes:
- rscadd: "Tricord, Paracetamol and Isotonic to NTMed"
- rscadd: "NTMED in Valhalla with more stock"
6 changes: 6 additions & 0 deletions html/changelogs/AutoChangeLog-pr-14362.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
author: "Lumipharon"
delete-after: True
changes:
- balance: "Throwing things into windows will no longer stop the throw if the window breaks from the impact"
- balance: "Throwing mobs into windows hurts like a wall throw"
- balance: "Throwing mobs into a window scales damage to the window based on mob size"
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-14372.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "ZeWaka"
delete-after: True
changes:
- bugfix: "You should no longer get the 'You left the Larva queue.' message when returning to your corpse."
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-14374.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "Waselon"
delete-after: True
changes:
- rscadd: "New xeno support minion: Nymph"
Binary file added icons/Xeno/castes/nymph.dmi
Binary file not shown.
2 changes: 2 additions & 0 deletions tgmc.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1644,6 +1644,8 @@
#include "code\modules\mob\living\carbon\xenomorph\castes\mantis\abilities_mantis.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\mantis\castedatum_mantis.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\mantis\mantis.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\nymph\castedatum_nymph.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\nymph\nymph.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\praetorian\abilities_praetorian.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\praetorian\castedatum_praetorian.dm"
#include "code\modules\mob\living\carbon\xenomorph\castes\praetorian\praetorian.dm"
Expand Down

0 comments on commit f512234

Please sign in to comment.