Skip to content

Commit

Permalink
Merge branch 'Civ13:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
KanohaShinobi authored Jan 9, 2024
2 parents 2722913 + fec7311 commit 9c649cf
Show file tree
Hide file tree
Showing 41 changed files with 1,897 additions and 1,301 deletions.
1 change: 1 addition & 0 deletions civ13.dme
Original file line number Diff line number Diff line change
Expand Up @@ -783,6 +783,7 @@
#include "code\modules\1713\jobs\spanish.dm"
#include "code\modules\1713\jobs\starwars.dm"
#include "code\modules\1713\jobs\superiors.dm"
#include "code\modules\1713\jobs\tribes.dm"
#include "code\modules\1713\jobs\UPA.dm"
#include "code\modules\1713\jobs\waco.dm"
#include "code\modules\1713\jobs\wildwest.dm"
Expand Down
72 changes: 66 additions & 6 deletions code/game/objects/map_metadata/red_menace.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
respawn_delay = 1200
no_hardcore = TRUE
victory_time = 27000
grace_wall_timer = 3600

grace_wall_timer = 3000
no_winner = "The Townhall remains under American control."
faction_organization = list(
AMERICAN,
RUSSIAN)
Expand All @@ -20,18 +20,32 @@
ordinal_age = 7
faction_distribution_coeffs = list(RUSSIAN = 0.4, AMERICAN = 0.6)
battle_name = "Battle for America"
mission_start_message = "<font size=4>All factions have <b>6 minutes</b> to prepare before the battle begins!<br>The Americans will win if they hold out for <b>45 minutes</b>.<br>The Soviets will win if they manage to capture the City Hall!<br>Capture point is on the 2nd floor.</font>"
mission_start_message = "<font size=4>All factions have <b>6 minutes</b> to prepare before the battle begins!<br>The Americans will win if they hold out for <b>45 minutes</b>.<br>The Soviets will win if they manage to capture the Town Hall!<br>Capture point is on the 2nd floor.<br>The US Army reinforcements will arrive in 25 minutes.</font>"
faction1 = AMERICAN
faction2 = RUSSIAN
valid_weather_types = list(WEATHER_NONE, WEATHER_WET)
songs = list(
"Killing Joke - Eighties:1" = "sound/music/eighties.ogg",)
gamemode = "Siege"
var/us_reinforcements_time = 15000

/obj/map_metadata/red_menace/New()
..()
spawn(7500)
world << "<big>American reinforcements are halfway here!</big>"
spawn(15000)
us_reinforcements()

/obj/map_metadata/red_menace/job_enabled_specialcheck(var/datum/job/J)
..()
if (J.is_reds)
. = TRUE
if (J.title == "US Army Lieutenant" || J.title == "US Army Captain")
if (world.time < us_reinforcements_time)
. = FALSE
else
. = TRUE
else
. = TRUE
else
. = FALSE

Expand Down Expand Up @@ -89,7 +103,6 @@


/obj/map_metadata/red_menace/update_win_condition()

if (world.time >= victory_time)
if (win_condition_spam_check)
return FALSE
Expand Down Expand Up @@ -167,4 +180,51 @@
return TRUE
else
return !faction1_can_cross_blocks()
return FALSE
return FALSE

// Map-specific objects and mechanics //

/obj/map_metadata/red_menace/proc/us_reinforcements()
for (var/obj/effect/spawner/objspawner/m1a1_abrams/MA in world)
MA.activated = TRUE
spawn(15)
MA.activated = FALSE
for (var/datum/job/J in job_master.occupations)
if (J.is_reds)
if (J.title == "US Army Lieutenant")
J.max_positions = 2
J.total_positions = 2
J.spawn_location = "JoinLateRNSL2"
if (J.title == "US Army Staff Sergeant")
J.max_positions = 4
J.total_positions = 4
J.spawn_location = "JoinLateRNSL2"
if (J.title == "US Army Radio Operator")
J.max_positions = 3
J.total_positions = 3
J.spawn_location = "JoinLateRN3"
if (J.title == "US Army Designated Marksman")
J.max_positions = 5
J.total_positions = 5
J.spawn_location = "JoinLateRN3"
if (J.title == "US Army Automatic Rifleman")
J.max_positions = 8
J.total_positions = 8
J.spawn_location = "JoinLateRN3"
if (J.title == "US Army Rifleman")
J.max_positions = 44
J.total_positions = 44
J.spawn_location = "JoinLateRN3"
if (J.title == "US Army Crewman")
J.max_positions = 12
J.total_positions = 12
J.spawn_location = "JoinLateRNT2"
world << SPAN_NOTICE("<big>American reinforcements have arrived!</big>")

/obj/effect/spawner/objspawner/m1a1_abrams
name = "M1A1 Abrams spawner"
max_range = 0
max_number = 1
timer = 10
activated = FALSE
create_path = /obj/effects/premadevehicles/tank/m1a1_abrams
10 changes: 9 additions & 1 deletion code/game/objects/structures/religious.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ obj/structure/religious/monument

New()
..()
top = image(icon='icons/obj/statue.dmi', icon_state = "venus_top", layer=3.2)
top = image(icon='icons/obj/statue.dmi', icon_state = "venus_top", layer= 6.0)
top.pixel_y = 32
update_icon()

Expand All @@ -173,6 +173,14 @@ obj/structure/religious/monument
overlays.Cut()
overlays += top

/obj/structure/religious/monument/liberty
name = "statue of liberty"
desc = "A figure of Libertas."
icon = 'icons/obj/decals_wider.dmi'
icon_state = "liberty"
bound_height = 64
layer = 5.0

/obj/structure/religious/monument/karl_marx
name = "monumental bronze statue of karl marx"
desc = "The father of communism himself, enshrined in bronze."
Expand Down
8 changes: 7 additions & 1 deletion code/game/objects/structures/sign_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,13 @@
/obj/structure/sign/flag/usa/delta_force
name = "Delta Force insignia"
desc = "Insignia of the 1st Special Forces Operational Detachment-Delta."
icon_state = "flag_wag"
icon_state = "delta_force"

/obj/structure/sign/flag/usa/delta_force/two
icon_state = "delta_force2"

/obj/structure/sign/flag/usa/delta_force/three
icon_state = "delta_force3"

/obj/structure/sign/flag/gb/rebel
name = "Alliance to Restore the Democracy Flag"
Expand Down
4 changes: 2 additions & 2 deletions code/modules/1713/apparel_coldwar.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1368,7 +1368,7 @@
/obj/item/weapon/storage/belt/smallpouches/green/m14
/obj/item/weapon/storage/belt/smallpouches/green/m14/New()
..()
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/weapon/grenade/smokebomb/m18smoke(src)
new /obj/item/ammo_magazine/m14(src)
new /obj/item/ammo_magazine/m14(src)
new /obj/item/stack/medical/bruise_pack/gauze(src)
Expand Down Expand Up @@ -1595,7 +1595,7 @@
New()
..()
for (var/i=1, i<= 3, i++)
new/obj/item/ammo_magazine/mosin(hold)
new/obj/item/ammo_magazine/m24(hold)

/obj/item/clothing/accessory/storage/webbing/khaki_webbing
name = "khaki chest webbing"
Expand Down
8 changes: 7 additions & 1 deletion code/modules/1713/barriers/sandbag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -395,4 +395,10 @@

/obj/structure/window/barrier/jersey/New()
..()
icon_state = "jerseybarrier[rand(1,2)]"
icon_state = "jerseybarrier[rand(1,5)]"

/obj/structure/window/barrier/jersey/alt
icon_state = "jerseybarrier_alt1"
New()
..()
icon_state = "jerseybarrier_alt[rand(1,2)]"
64 changes: 32 additions & 32 deletions code/modules/1713/crates.dm
Original file line number Diff line number Diff line change
Expand Up @@ -509,159 +509,159 @@ obj/structure/closet/crate/loottreasurechest/New()
paths = list(/obj/item/weapon/gun/projectile/revolver/t26_revolver = 10,)
cratevalue = 60 //50 base
////WW1////////
obj/structure/closet/crate/ww1/grenades_french
/obj/structure/closet/crate/ww1/grenades_french
name = "F1 grenade crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/weapon/grenade/modern/f1 = 10)

obj/structure/closet/crate/ww1/grenades_german
/obj/structure/closet/crate/ww1/grenades_german
name = "stg 1915 grenade crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/weapon/grenade/modern/stg1915 = 10)

obj/structure/closet/crate/ww1/grenades_british
/obj/structure/closet/crate/ww1/grenades_british
name = "Mills grenade crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/weapon/grenade/modern/mills = 10)


obj/structure/closet/crate/ww1/ammo_hotchkiss
/obj/structure/closet/crate/ww1/ammo_hotchkiss
name = "Hotchkiss belts crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/ammo_magazine/hotchkiss = 10)

obj/structure/closet/crate/ww1/ammo_type3
/obj/structure/closet/crate/ww1/ammo_type3
name = "Type 3 belts crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/ammo_magazine/type3 = 10)

obj/structure/closet/crate/ww1/ammo_vickers
/obj/structure/closet/crate/ww1/ammo_vickers
name = "Vickers belts crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/ammo_magazine/vickers = 10)

obj/structure/closet/crate/ww1/ammo_mg08
/obj/structure/closet/crate/ww1/ammo_mg08
name = "MG08 belts crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/ammo_magazine/mg08 = 10)
obj/structure/closet/crate/ww1/ammo_maxim
/obj/structure/closet/crate/ww1/ammo_maxim
name = "Maxim belts crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/ammo_magazine/maxim = 10)

obj/structure/closet/crate/ww2
/obj/structure/closet/crate/ww2
icon_state = "mil_crate_closed"
icon_opened = "mil_crate_opened"
icon_closed = "mil_crate_closed"
name = "military crate"

obj/structure/closet/crate/ww2/mk2
/obj/structure/closet/crate/ww2/mk2
name = "Mk2 grenade crate"
paths = list(/obj/item/weapon/grenade/ww2/mk2 = 10)

obj/structure/closet/crate/ww2/rgd33
/obj/structure/closet/crate/ww2/rgd33
name = "RGD33 grenade crate"
paths = list(/obj/item/weapon/grenade/ww2/rgd33 = 10)

obj/structure/closet/crate/ww2/stg1924
/obj/structure/closet/crate/ww2/stg1924
name = "stg 1924 grenade crate"
paths = list(/obj/item/weapon/grenade/ww2/stg1924 = 10)

obj/structure/closet/crate/ww2/ammo_mg34
/obj/structure/closet/crate/ww2/ammo_mg34
name = "MG34 belts crate"
icon_state = "wood_crate"
icon_opened = "wood_crate_opened"
icon_closed = "wood_crate"
paths = list(/obj/item/ammo_magazine/mg34belt = 10)
obj/structure/closet/crate/ww2/panzerfaust
/obj/structure/closet/crate/ww2/panzerfaust
name = "Panzerfaust crate"
paths = list(/obj/item/weapon/gun/launcher/rocket/single_shot/panzerfaust = 6)

obj/structure/closet/crate/ww2/atmines
/obj/structure/closet/crate/ww2/atmines
name = "anti-tank mines crate"
paths = list(/obj/item/mine/at = 5)

obj/structure/closet/crate/ww2/rpg40
/obj/structure/closet/crate/ww2/rpg40
name = "RPG-40 AT grenade crate"
paths = list(/obj/item/weapon/grenade/antitank/rpg40 = 6)

obj/structure/closet/crate/ww2/g43
/obj/structure/closet/crate/ww2/g43
name = "G43 ammunition crate"
paths = list(/obj/item/ammo_magazine/g43 = 10)

obj/structure/closet/crate/ww2/mp40
/obj/structure/closet/crate/ww2/mp40
name = "MP40 ammunition crate"
paths = list(/obj/item/ammo_magazine/mp40 = 8)

obj/structure/closet/crate/ww2/mosin_ammo
/obj/structure/closet/crate/ww2/mosin_ammo
name = "Mosin ammunition crate"
paths = list(/obj/item/ammo_magazine/mosin = 25)

obj/structure/closet/crate/ww2/mosin
/obj/structure/closet/crate/ww2/mosin
name = "Mosin 1891/30 crate"
paths = list(/obj/item/weapon/gun/projectile/boltaction/mosin/m30 = 20)

obj/structure/closet/crate/ww2/mosin_old
/obj/structure/closet/crate/ww2/mosin_old
name = "Mosin 1891 crate"
paths = list(/obj/item/weapon/gun/projectile/boltaction/mosin = 20)

obj/structure/closet/crate/ww2/stg
/obj/structure/closet/crate/ww2/stg
name = "StG44 ammunition crate"
paths = list(/obj/item/ammo_magazine/stg = 8)

obj/structure/closet/crate/ww2/svt
/obj/structure/closet/crate/ww2/svt
name = "SVT-40 ammunition crate"
paths = list(/obj/item/ammo_magazine/svt = 10)

obj/structure/closet/crate/ww2/ppsh
/obj/structure/closet/crate/ww2/ppsh
name = "PPSH ammunition crate"
paths = list(/obj/item/ammo_magazine/c762x25_ppsh = 8)

obj/structure/closet/crate/ww2/pps
/obj/structure/closet/crate/ww2/pps
name = "PPS ammunition crate"
paths = list(/obj/item/ammo_magazine/c762x25_pps = 8)

obj/structure/closet/crate/coldwar/m26
/obj/structure/closet/crate/coldwar/m26
name = "M26 grenade crate"
paths = list(/obj/item/weapon/grenade/coldwar/m26 = 10)

obj/structure/closet/crate/coldwar/m18
/obj/structure/closet/crate/coldwar/m18
name = "M18 smoke grenade crate"
paths = list(/obj/item/weapon/grenade/smokebomb/m18smoke = 10)

obj/structure/closet/crate/ww2/vietnam/us_ammo
/obj/structure/closet/crate/ww2/vietnam/us_ammo
name = "US Army ammo"
paths = list(/obj/item/ammo_magazine/m16 = 16,
/obj/item/ammo_magazine/b762 = 4,
/obj/item/ammo_magazine/greasegun = 4,
/obj/item/ammo_magazine/m14 = 4,
)

obj/structure/closet/crate/ww2/vietnam/us_medical
/obj/structure/closet/crate/ww2/vietnam/us_medical
name = "US Army medical supplies"
paths = list(/obj/item/weapon/storage/firstaid/combat/modern = 1,
/obj/item/weapon/storage/firstaid/adv = 1,
/obj/structure/iv_drip = 1,
/obj/item/weapon/reagent_containers/blood/OMinus = 1,
)

obj/structure/closet/crate/ww2/vietnam/us_explosives
/obj/structure/closet/crate/ww2/vietnam/us_explosives
name = "US Army explosives"
paths = list(/obj/item/weapon/grenade/coldwar/m67 = 4,
/obj/item/weapon/grenade/incendiary/anm14 = 2,
Expand All @@ -670,7 +670,7 @@ obj/structure/closet/crate/ww2/vietnam/us_explosives
/obj/item/weapon/grenade/coldwar/nonfrag/m26 = 2,
)

obj/structure/closet/crate/ww2/vietnam/us_engineering
/obj/structure/closet/crate/ww2/vietnam/us_engineering
name = "US Army engineering supplies"
paths = list(/obj/item/weapon/barrier/sandbag = 30,
/obj/item/stack/material/barbwire/ten = 2,
Expand All @@ -680,7 +680,7 @@ obj/structure/closet/crate/ww2/vietnam/us_engineering
/obj/item/weapon/wirecutters/boltcutters = 1,
)

obj/structure/closet/crate/ww2/vietnam/us_ap_mines
/obj/structure/closet/crate/ww2/vietnam/us_ap_mines
name = "US Army AP mines"
paths = list(/obj/item/mine/ap = 15,
/obj/item/weapon/wirecutters/boltcutters = 2,
Expand Down
Loading

0 comments on commit 9c649cf

Please sign in to comment.