Skip to content

Commit

Permalink
Sprite and code
Browse files Browse the repository at this point in the history
Pretty much all of it yep
  • Loading branch information
Bokkiewokkie committed Dec 21, 2024
1 parent d7ba5e2 commit 65ffc19
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 7 deletions.
15 changes: 11 additions & 4 deletions nsv13/code/modules/overmap/ai-skynet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -752,6 +752,7 @@ Adding tasks is easy! Just define a datum for it.
supply_types = list(/obj/structure/overmap/syndicate/ai/carrier, /obj/structure/overmap/syndicate/ai/carrier/elite)
fleet_trait = FLEET_TRAIT_BORDER_PATROL
hide_movements = TRUE
size = FLEET_DIFFICULTY_HARD //Border patrol is stronger

/datum/fleet/boarding
name = "\improper Syndicate commando taskforce"
Expand All @@ -762,25 +763,31 @@ Adding tasks is easy! Just define a datum for it.
/datum/fleet/wolfpack
name = "\improper unidentified Syndicate fleet"
destroyer_types = list(/obj/structure/overmap/syndicate/ai/submarine)
battleship_types = list(/obj/structure/overmap/syndicate/ai/cruiser, /obj/structure/overmap/syndicate/ai/cruiser/elite, /obj/structure/overmap/syndicate/ai/mako_flak, /obj/structure/overmap/syndicate/ai/destroyer)
battleship_types = list(/obj/structure/overmap/syndicate/ai/cruiser, /obj/structure/overmap/syndicate/ai/cruiser/elite, /obj/structure/overmap/syndicate/ai/mako_flak, /obj/structure/overmap/syndicate/ai/destroyer, /obj/structure/overmap/syndicate/ai/submarine/elite)
audio_cues = list()
hide_movements = TRUE
taunts = list("....", "*static*")
fleet_trait = FLEET_TRAIT_NEUTRAL_ZONE

/datum/fleet/wolfpack/elite
name = "\improper unidentified Syndicate taskforce"
destroyer_types = list(/obj/structure/overmap/syndicate/ai/submarine, /obj/structure/overmap/syndicate/ai/submarine/elite)
battleship_types = list(/obj/structure/overmap/syndicate/ai/submarine/elite, /obj/structure/overmap/syndicate/ai/cruiser/elite)
taunts = list(".....", "*loud microphone feedback*", "You've got nowhere to run, and nowhere to hide...")

/datum/fleet/conflagration
name = "\improper Syndicate conflagration deterrent"
taunts = list("Enemy ship, surrender now. This vessel is armed with hellfire weapons and eager to test them.")
audio_cues = list()
destroyer_types = list(/obj/structure/overmap/syndicate/ai/conflagration, /obj/structure/overmap/syndicate/ai/conflagration/elite)
size = 2
size = FLEET_DIFFICULTY_EASY
fleet_trait = FLEET_TRAIT_NEUTRAL_ZONE

/datum/fleet/elite
name = "\improper elite Syndicate taskforce"
taunts = list("Enemy ship, surrender immediately or face destruction.", "Excellent, a worthwhile target. Arm all batteries.")
supply_types = list(/obj/structure/overmap/syndicate/ai/carrier/elite)
destroyer_types = list(/obj/structure/overmap/syndicate/ai/destroyer/elite)
destroyer_types = list(/obj/structure/overmap/syndicate/ai/destroyer/elite, /obj/structure/overmap/syndicate/ai/submarine/elite)
battleship_types = list(/obj/structure/overmap/syndicate/ai/cruiser/elite)

//Space Pirate Fleets
Expand Down Expand Up @@ -845,7 +852,7 @@ Adding tasks is easy! Just define a datum for it.
/datum/fleet/earthbuster
name = "\proper Syndicate Armada" //Fleet spawned if the players are too inactive. Set course...FOR EARTH.
destroyer_types = list(/obj/structure/overmap/syndicate/ai, /obj/structure/overmap/syndicate/ai/conflagration, /obj/structure/overmap/syndicate/ai/assault_cruiser, /obj/structure/overmap/syndicate/ai/gunboat, /obj/structure/overmap/syndicate/ai/submarine, /obj/structure/overmap/syndicate/ai/assault_cruiser/boarding_frigate)
size = FLEET_DIFFICULTY_VERY_HARD
size = FLEET_DIFFICULTY_INSANE
allow_difficulty_scaling = FALSE
taunts = list("We're coming for Sol, and you can't stop us. All batteries fire at will.", "Lay down your arms now, you're outnumbered.", "All hands, assume assault formation. Begin bombardment.")
audio_cues = list()
Expand Down
6 changes: 6 additions & 0 deletions nsv13/code/modules/overmap/factions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
var/tickets = 0 //How many victory tickets has this faction accrued? Factions other than NT can win!
var/list/fleet_types = list()
var/list/randomspawn_only_fleet_types = list() //These fleets only get spawned randomly, not by say, missions.
var/list/elite_fleet_types = list() //These fleets are only spawned if the difficulty is high enough.
var/elite_difficulty_threshold = 3 //The minimum difficulty for elite fleets to spawn for this faction.
var/next_fleet_spawn = 0 //Factions spawn fleets more frequently when they're doing well with tickets.
var/fleet_spawn_rate = 10 MINUTES //By default, 1 / 5 minutes.
var/spawn_rate_jitter = 3 MINUTES
Expand Down Expand Up @@ -91,6 +93,8 @@ Set up relationships.
possible_types += fleet_types
if(!force)
possible_types += randomspawn_only_fleet_types
if(custom_difficulty >= elite_difficulty_threshold || SSovermap_mode.mode.difficulty >= elite_difficulty_threshold)
possible_types += elite_fleet_types
var/fleet_type = pickweight(possible_types)
var/datum/fleet/F = new fleet_type
F.current_system = starsys
Expand Down Expand Up @@ -125,6 +129,7 @@ Set up relationships.
preset_allies = list(FACTION_ID_SOLGOV, FACTION_ID_UNATHI)
preset_enemies = list(FACTION_ID_SYNDICATE, FACTION_ID_PIRATES)
fleet_types = list(/datum/fleet/nanotrasen/light = 1)
elite_fleet_types = list(/datum/fleet/nanotrasen = 1)
fleet_spawn_rate = 40 MINUTES
id = FACTION_ID_NT

Expand All @@ -149,6 +154,7 @@ Set up relationships.
preset_enemies = list(FACTION_ID_NT)
fleet_types = list(/datum/fleet/neutral = 5, /datum/fleet/boarding = 5, /datum/fleet/wolfpack = 5, /datum/fleet/conflagration = 5)
randomspawn_only_fleet_types = list(/datum/fleet/interdiction/light = 1)
elite_fleet_types = list(/datum/fleet/wolfpack/elite = 2, /datum/fleet/elite = 2)
fleet_spawn_rate = 30 MINUTES
id = FACTION_ID_SYNDICATE

Expand Down
29 changes: 27 additions & 2 deletions nsv13/code/modules/overmap/types/syndicate.dm
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@
weapon_types[FIRE_MODE_MISSILE] = new/datum/ship_weapon/missile_launcher(src)

/obj/structure/overmap/syndicate/ai/submarine //A big box of tank which is hard to take down, and lethal up close.
name = "Aspala Class Sub-spacemarine"
name = "Aspala class sub-spacemarine"
desc = "A highly advanced Syndicate cruiser which can mask its sensor signature drastically."
icon = 'nsv13/icons/overmap/new/syndicate/cruiser.dmi'
icon_state = "aspala"
Expand Down Expand Up @@ -421,6 +421,31 @@
weapon_types[FIRE_MODE_GAUSS] = new /datum/ship_weapon/gauss(src) //AI ships want to be able to use gauss too. I say let them...
weapon_types[FIRE_MODE_MISSILE] = new/datum/ship_weapon/missile_launcher(src)

/obj/structure/overmap/syndicate/ai/submarine/elite
name = "Stalker class sub-spacemarine"
icon_state = "aspala_elite"
obj_integrity = 1000
max_integrity = 1000 //Max health
integrity_failure = 200 //At this integrity it will start phase 2
armor = list("overmap_light" = 90, "overmap_medium" = 65, "overmap_heavy" = 35)
shots_left = 35
torpedoes = 20 //Many torps 4u
missiles = 15
bounty = 3500
ai_flags = AI_FLAG_DESTROYER | AI_FLAG_ELITE
cloak_factor = 80 //Harder to see
combat_dice_type = /datum/combat_dice/destroyer
torpedo_type = /obj/item/projectile/guided_munition/torpedo/disruptor

/obj/structure/overmap/syndicate/ai/submarine/elite/try_repair(amount)
. = ..()
if(obj_integrity > integrity_failure) //Reset our torp type if we have been healed
torpedo_type = initial(torpedo_type)

/obj/structure/overmap/syndicate/ai/submarine/elite/obj_break() //Unused for overmaps, so we just steal it to make damage phases :3c
torpedo_type = /obj/item/projectile/guided_munition/torpedo/viscerator
torpedoes = CLAMP((torpedoes),2 , 3) //This is their secret weapon, they only have a few of these

/obj/structure/overmap/syndicate/ai/kadesh //I sure wonder what this one does....
name = "Kadesh class advanced cruiser"
desc = "An experimental Syndicate cruiser capable of projecting energy bursts powerful enough to disrupt drive systems."
Expand Down Expand Up @@ -461,7 +486,7 @@
add_sensor_profile_penalty(150, 10 SECONDS)

/obj/structure/overmap/syndicate/ai/fistofsol
name = "\improper SSV Fist of Sol"
name = "SSV Fist of Sol"
icon = 'nsv13/icons/overmap/syndicate/tuningfork.dmi'
icon_state = "tuningfork"
desc = "A terrifying vessel packing every inch of the Syndicate's abhorrent arsenal."
Expand Down
2 changes: 1 addition & 1 deletion nsv13/code/modules/overmap/weapons/damage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ Bullet reactions
else
obj_integrity += amount
if(structure_crit)
if(obj_integrity >= max_integrity * 0.2) //You need to repair a good chunk of her HP before you're getting outta this fucko.
if(obj_integrity >= max_integrity * 0.2) //You need to repair a good chunk of her HP before you're getting outta this buster.
stop_relay(channel=CHANNEL_SHIP_FX)
priority_announce("Ship structural integrity restored to acceptable levels. ","Automated announcement ([src])")
structure_crit = FALSE
Expand Down
Binary file modified nsv13/icons/overmap/new/syndicate/cruiser.dmi
Binary file not shown.

0 comments on commit 65ffc19

Please sign in to comment.