-
Notifications
You must be signed in to change notification settings - Fork 580
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# About the pull request Xenomorph endgame stuff revived Disclaimer: All the values and changes in this PR are not final, those are testing values and will most likely be tweaked. Credits: Birdtalon - most of the code Mikoka Wei & Zenith - sprites # Explain why it's good for the game https://hackmd.io/lfJWvwWSTEyxFs_nN2sIqw # Testing Photographs and Procedure King Cocoon Growing: ![image](https://github.com/user-attachments/assets/59bf123c-fa0a-49a7-b966-853f759cd03a) King Cocoon Hatched: ![image](https://github.com/user-attachments/assets/8bd8cc3a-b6ef-4062-a9c9-64836a010ffe) King & Rogue Sprites: ![image](https://github.com/user-attachments/assets/c169f5a5-7369-44a7-bdfd-49b76c0921d8) Buff Radial Icons: ![image](https://github.com/user-attachments/assets/f910a900-3498-40bb-80cf-16f2fdab5004) ![image](https://github.com/user-attachments/assets/dd1096db-b06f-4d3a-9147-058165aa6fba) ![image](https://github.com/user-attachments/assets/d7f10a5e-2d41-445e-beba-3ba8a0cde200) King Abilities: https://github.com/user-attachments/assets/c23d0db8-c8c2-4442-9e03-544c5a182283 Updated Destroy animation: https://github.com/user-attachments/assets/2f98d20e-b798-470b-ad28-9171805bdad2 </details> # Changelog :cl: Nivrak Birdtalon Wei Zenith del: Removed passive larva gain from pylons add: Added a new currency, Royal resin which is gained 1 per 5 minutes per pylon which can be used to buy various buffs. Minor buffs require one pylon while major buffs require both. add: Current royal resin can be viewed on the Queen's status panel and buffs can be bought through Manage the Hive ability. add: Minor Hive buff - Larva Surge - Costs 5 royal resin, Gives 5 larva, one time use add: Minor Hive Buff - Boon of Evolution - Costs 1 royal resin, Gain 2x evolution speed for 5 minutes add: Minor Hive Buff - Boon of Defense - Costs 1 royal resin, Gain 2.5 additional armor for 5 minutes add: Minor Hive Buff - Boon of Aggression - Costs 1 royal resin, Gain 5 additional damage for 5 minutes add: Major variants of Plenty, Defense and Aggression, Each costing 2 royal resin, having usually twice as strong effect and duration. Major boon of evolution also allows gaining evolution with the Queen out of ovi. balance: Pylons will have OB protection while the King is hatching. add: Major Hive Buff - His Grace - Costs 0 royal resin, Can only be bought between 1:35 and 1:55 minutes (random). Spawns a cocoon of the King. The cocoon requires both comms to be held for 10 minutes. If any of the comms are lost or the cocoon itself is the destroyed it will despawn and will be on cooldown for 5-15 minutes. Can be rebought like most other buffs. All living xenos can vote for a candidate after which one of the top 2 will be randomally picked, otherwise a player is randomly selected from all living xenos > 50 hours (will fallbacks to ghosts and then again with no playtime requirements). Evacuating while the destroyer is hatching will cause it to instantly hatch. add: The King - A new xenomorph caste which is serves as the xeno's counterpart to a nuke and is designed to end sieges. Has a rend to attack around it, a light extinguishing smoke, a gigantic leap, group bulwark shield that caps all incoming damage, and very strong pheromones. Cannot be body blocked. imageadd: Sprites by Mikoka Wei and Zenith /:cl: --------- Co-authored-by: Birdtalon <[email protected]> Co-authored-by: harryob <[email protected]> Co-authored-by: zzzmike <[email protected]> Co-authored-by: Segrain <[email protected]> Co-authored-by: Drulikar <[email protected]> Co-authored-by: Drathek <[email protected]> Co-authored-by: kiVts <[email protected]> Co-authored-by: zeroisthebiggay <[email protected]> Co-authored-by: Nanu308 <[email protected]>
- Loading branch information
1 parent
3001c25
commit 085faa8
Showing
42 changed files
with
1,737 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
/// Shield can be equal to a maximum of percent_maxhealth_damagecap of the receiver's max hp | ||
/datum/xeno_shield/king_shield | ||
duration = 10 SECONDS | ||
decay_amount_per_second = 100 | ||
/// The maximum damage multiplier of max health to apply in a hit | ||
var/percent_maxhealth_damagecap = 0.1 | ||
|
||
/datum/xeno_shield/king_shield/on_hit(damage) | ||
var/relative_damage_cap = linked_xeno.maxHealth * percent_maxhealth_damagecap | ||
|
||
if(damage > relative_damage_cap) | ||
damage = relative_damage_cap | ||
return ..(damage) | ||
|
||
|
||
/datum/xeno_shield/king_shield/on_removal() | ||
. = ..() | ||
if(linked_xeno) | ||
// Remove the shield overlay early | ||
linked_xeno.remove_suit_layer() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
//----------------------------------------- | ||
//HEAVY IMPACT | ||
//----------------------------------------- | ||
|
||
/obj/effect/heavy_impact | ||
icon = 'icons/effects/heavyimpact.dmi' | ||
icon_state = "heavyimpact" | ||
var/duration = 1.3 SECONDS | ||
|
||
/obj/effect/heavy_impact/Initialize(mapload) | ||
. = ..() | ||
flick("heavyimpact", src) | ||
AddElement(/datum/element/temporary, duration) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
//----------------------------------------- | ||
//KING LEAP | ||
//----------------------------------------- | ||
|
||
#define LEAP_HEIGHT 210 //how high up leaps go, in pixels | ||
|
||
/obj/effect/king_leap | ||
icon = 'icons/mob/xenos/king.dmi' | ||
icon_state = "Normal King Charging" | ||
layer = 4.7 | ||
plane = -4 | ||
pixel_x = -32 | ||
var/duration = 10 | ||
|
||
/obj/effect/king_leap/Initialize(mapload, negative, dir) | ||
. = ..() | ||
setDir(dir) | ||
INVOKE_ASYNC(src, PROC_REF(flight), negative) | ||
AddElement(/datum/element/temporary, duration) | ||
|
||
/obj/effect/king_leap/proc/flight(negative) | ||
if(negative) | ||
animate(src, pixel_x = -LEAP_HEIGHT*0.1, pixel_z = LEAP_HEIGHT*0.15, time = 3, easing = BOUNCE_EASING) | ||
else | ||
animate(src, pixel_x = LEAP_HEIGHT*0.1, pixel_z = LEAP_HEIGHT*0.15, time = 3, easing = BOUNCE_EASING) | ||
sleep(0.3 SECONDS) | ||
icon_state = "Normal King Charging" | ||
if(negative) | ||
animate(src, pixel_x = -LEAP_HEIGHT, pixel_z = LEAP_HEIGHT, time = 7) | ||
else | ||
animate(src, pixel_x = LEAP_HEIGHT, pixel_z = LEAP_HEIGHT, time = 7) | ||
|
||
/obj/effect/king_leap/end | ||
pixel_x = LEAP_HEIGHT | ||
pixel_z = LEAP_HEIGHT | ||
duration = 10 | ||
|
||
/obj/effect/king_leap/end/flight(negative) | ||
if(negative) | ||
pixel_x = -LEAP_HEIGHT | ||
animate(src, pixel_x = -16, pixel_z = 0, time = 5) | ||
else | ||
animate(src, pixel_x = -16, pixel_z = 0, time = 5) | ||
|
||
/obj/effect/xenomorph/xeno_telegraph/king_attack_template | ||
icon = 'icons/effects/96x96.dmi' | ||
icon_state = "landing2" | ||
layer = BELOW_MOB_LAYER | ||
|
||
/obj/effect/xenomorph/xeno_telegraph/king_attack_template/yellow | ||
icon_state = "xenolandingyellow" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.