Skip to content

Commit

Permalink
Merge pull request Civ13#2437 from savethetreez/branch
Browse files Browse the repository at this point in the history
Mujahideen SLs + stat and gear buff
  • Loading branch information
savethetreez authored Oct 24, 2023
2 parents f767723 + d66d29d commit ea60711
Show file tree
Hide file tree
Showing 6 changed files with 165 additions and 68 deletions.
9 changes: 6 additions & 3 deletions code/game/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,12 @@
else if (faction_text == CIVILIAN && original_job.title == "DRA Sergeant")
world << "<font color='red' size=3>A <b>DRA Sergeant</b> has been killed!</font>"
MP.muj_points += 5
else if (faction_text == ARAB && original_job.title == "Mujahideen Leader")
MP.sov_points += 10
world << "<font color='red' size=3>A <b>Mujahideen Leader</b> has been killed!</font>"
else if (faction_text == ARAB && original_job.title == "Mujahideen Warchief")
MP.sov_points += 15
world << "<font color='red' size=3>The <b>Mujahideen Warchief</b> has been killed!</font>"
else if (faction_text == ARAB && original_job.title == "Mujahideen Group Leader")
MP.sov_points += 5
world << "<font color='red' size=3>The <b>Mujahideen Group Leader</b> has been killed!</font>"

if (MAP_SEKIGAHARA)
if (civilization && civilization in map.scores)
Expand Down
3 changes: 0 additions & 3 deletions code/game/objects/map_metadata/hill_3234.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,6 @@
if (J.title == "Spetznaz GRU")
J.max_positions = 2
J.total_positions = 2
if (J.title == "Mujahideen Leader")
J.max_positions = 10
J.total_positions = 10
else
. = FALSE

Expand Down
53 changes: 30 additions & 23 deletions code/game/objects/map_metadata/kandahar.dm
Original file line number Diff line number Diff line change
Expand Up @@ -287,33 +287,40 @@
else
world << "<big><b>North West Village Outpost</b>: Nobody</big>"
for (var/mob/living/human/H in player_list)
if (H.stat!=DEAD && (H.original_job.is_soviet == TRUE || H.original_job.is_dra == TRUE))
if (H.original_job.is_soviet == TRUE || H.original_job.is_dra == TRUE)
var/area/A = get_area(H)
if (istype(A, /area/caribbean/arab/caves/prison))
if (H.stat!=DEAD && H.original_job.title == "Soviet Army Captain")
muj_points += 4
world << "<font color='orange' size=2>The <b><font color='red'>Soviet Army Captain</font></b> is in captivity!</font>"
else if (H.stat!=DEAD && H.original_job.title == "Soviet Army Lieutenant")
muj_points += 3
world << "<font color='orange' size=2>A <b><font color='red'>Soviet Army Lieutenant</font></b> is in captivity!</font>"
else if (H.stat!=DEAD && H.original_job.title == "Soviet Army Sergeant")
muj_points += 2
world << "<font color='orange' size=2>A <b><font color='red'>Soviet Army Sergeant</font></b> is in captivity!</font>"
else if (H.stat!=DEAD && H.original_job.title == "DRA Governor")
muj_points += 5
world << "<font color='orange' size=2>The <b><font color='green'>DRA Governor</font></b> is in captivity!</font>"
else if (H.stat!=DEAD && H.original_job.title == "DRA Lieutenant")
muj_points += 3
world << "<font color='orange' size=2>A <b><font color='green'>DRA Lieutenant</font></b> is in captivity!</font>"
else if (H.stat!=DEAD && H.original_job.title == "DRA Sergeant")
muj_points += 2
world << "<font color='orange' size=2>A <b><font color='green'>DRA Sergeant</font></b> is in captivity!</font>"
if (H.stat!=DEAD && (H.original_job.is_muj == TRUE))
if (H.stat != DEAD)
switch(H.original_job.title)
if ("Soviet Army Captain")
muj_points += 4
world << "<font color='orange' size=2>The <b><font color='red'>Soviet Army Captain</font></b> is in captivity!</font>"
if ("Soviet Army Lieutenant")
muj_points += 3
world << "<font color='orange' size=2>A <b><font color='red'>Soviet Army Lieutenant</font></b> is in captivity!</font>"
if ("Soviet Army Sergeant")
muj_points += 2
world << "<font color='orange' size=2>A <b><font color='red'>Soviet Army Sergeant</font></b> is in captivity!</font>"
if ("DRA Governor")
muj_points += 5
world << "<font color='orange' size=2>The <b><font color='green'>DRA Governor</font></b> is in captivity!</font>"
if ("DRA Lieutenant")
muj_points += 3
world << "<font color='orange' size=2>A <b><font color='green'>DRA Lieutenant</font></b> is in captivity!</font>"
if ("DRA Sergeant")
muj_points += 2
world << "<font color='orange' size=2>A <b><font color='green'>DRA Sergeant</font></b> is in captivity!</font>"
if (H.original_job.is_muj == TRUE)
var/area/B = get_area(H)
if (istype(B, /area/caribbean/prison/jail))
if (H.stat!=DEAD && H.original_job.title == "Mujahideen Leader")
sov_points += 3
world << "<font color='orange' size=2>A <b><font color='black'>Mujahideen Leader</font></b> is currently being detained!</font>"
if (H.stat != DEAD)
switch(H.original_job_title)
if ("Mujahideen Warchief")
sov_points += 4
world << "<font color='orange' size=2>The <b><font color='black'>Mujahideen Warchief</font></b> is in captivity!</font>"
if ("Mujahideen Group Leader")
sov_points += 2
world << "<font color='orange' size=2>A <b><font color='black'>Mujahideen Group Leader</font></b> is in captivity!</font>"
spawn(600)
points_check()
spawn(300)
Expand Down
3 changes: 0 additions & 3 deletions code/game/objects/map_metadata/magistral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@
. = TRUE
if (J.title == "DRA Governor")
. = FALSE
if (J.title == "Mujahideen Leader")
J.max_positions = 10
J.total_positions = 10
else
. = FALSE

Expand Down
14 changes: 14 additions & 0 deletions code/modules/1713/apparel_coldwar.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1247,6 +1247,12 @@
new /obj/item/ammo_magazine/fal(src)
new /obj/item/stack/medical/bruise_pack/gauze(src)

/obj/item/weapon/storage/belt/smallpouches/fal
/obj/item/weapon/storage/belt/smallpouches/fal/New()
..()
for (var/i=1, i<=4, i++)
new /obj/item/ammo_magazine/fal(src)

/obj/item/weapon/storage/belt/smallpouches/green/sov_74
/obj/item/weapon/storage/belt/smallpouches/green/sov_74/New()
..()
Expand All @@ -1255,6 +1261,14 @@
new /obj/item/ammo_magazine/ak74(src)
new /obj/item/stack/medical/bruise_pack/gauze(src)

/obj/item/weapon/storage/belt/smallpouches/ak74
/obj/item/weapon/storage/belt/smallpouches/ak74/New()
..()
new /obj/item/weapon/grenade/modern/f1(src)
new /obj/item/ammo_magazine/ak74(src)
new /obj/item/ammo_magazine/ak74(src)
new /obj/item/ammo_magazine/ak74(src)

/obj/item/weapon/storage/belt/smallpouches/green/sov_74/alt
/obj/item/weapon/storage/belt/smallpouches/green/sov_74/alt/New()
..()
Expand Down
151 changes: 115 additions & 36 deletions code/modules/1713/jobs/sovafghan.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1651,24 +1651,23 @@

////////////////////////////////////////////////Mujahideen////////////////////////////////////////

/datum/job/arab/mujahideen/leader
title = "Mujahideen Leader"
rank_abbreviation = "Leader"
/datum/job/arab/mujahideen/warchief
title = "Mujahideen Warchief"
rank_abbreviation = "Malik"

spawn_location = "JoinLateAR"
is_officer = TRUE
is_squad_leader = TRUE
uses_squads = TRUE
is_
is_afghan = TRUE
is_muj = TRUE
is_coldwar = TRUE
default_language = "Pashto"
additional_languages = list("Dari" = 100, "Russian" = 60, "English"= 60)

min_positions = 1
max_positions = 6
max_positions = 1

/datum/job/arab/mujahideen/leader/equip(var/mob/living/human/H)
/datum/job/arab/mujahideen/warchief/equip(var/mob/living/human/H)
if (!H) return FALSE
//shoes
var/randshoes = rand(1,5)
Expand Down Expand Up @@ -1704,16 +1703,7 @@
if (3)
uniform.attackby(three, H)

H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/smallpouches(H), slot_belt)
var/obj/item/weapon/storage/bbelt = H.belt
var/obj/item/stack/medical/bruise_pack/gauze/ggauze = new /obj/item/stack/medical/bruise_pack/gauze(null)
var/obj/item/ammo_magazine/m16/mag1 = new /obj/item/ammo_magazine/m16(null)
var/obj/item/ammo_magazine/m16/mag2 = new /obj/item/ammo_magazine/m16(null)
var/obj/item/ammo_magazine/m16/mag3 = new /obj/item/ammo_magazine/m16(null)
bbelt.attackby(ggauze, H)
bbelt.attackby(mag1, H)
bbelt.attackby(mag2, H)
bbelt.attackby(mag3, H)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/smallpouches/us_stanag(H), slot_belt)
//head
var/randhat = rand(1,2)
switch (randhat)
Expand All @@ -1736,11 +1726,96 @@
H.g_facial = hex2num(copytext(hex_hair, 4, 6))
H.b_facial = hex2num(copytext(hex_hair, 6, 8))

H.add_note("Role", "You are an <b>[title]</b>, an islamic leader. Lead the Holy war against the red menace!")
H.add_note("Role", "You are a <b>[title]</b>, an islamic leader. Lead the Holy War against the Red Menace!")
H.setStat("strength", STAT_HIGH)
H.setStat("crafting", STAT_NORMAL)
H.setStat("rifle", STAT_HIGH)
H.setStat("dexterity", STAT_MEDIUM_HIGH)
H.setStat("swords", STAT_HIGH)
H.setStat("pistol", STAT_NORMAL)
H.setStat("bows", STAT_MEDIUM_HIGH)
H.setStat("medical", STAT_MEDIUM_LOW)
give_random_name(H)

return TRUE

/datum/job/arab/mujahideen/group_leader
title = "Mujahideen Group Leader"
rank_abbreviation = "Jameedar"

spawn_location = "JoinLateAR"
is_squad_leader = TRUE
uses_squads = TRUE
is_afghan = TRUE
is_muj = TRUE
is_coldwar = TRUE
default_language = "Pashto"
additional_languages = list("Dari" = 70, "Russian" = 30, "English"= 10)

min_positions = 1
max_positions = 10

/datum/job/arab/mujahideen/group_leader/equip(var/mob/living/human/H)
if (!H) return FALSE
//shoes
var/randshoes = rand(1,4)
switch(randshoes)
if (1)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/medieval/arab(H), slot_shoes)
if (2)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), slot_shoes)
if (3)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes)
if (4)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/leatherboots(H), slot_shoes)
//clothes
if (prob(50))
H.equip_to_slot_or_del(new /obj/item/clothing/under/insurgent_black(H), slot_w_uniform)
else
H.equip_to_slot_or_del(new /obj/item/clothing/under/insurgent_sand_woodland(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/weapon/attachment/scope/adjustable/binoculars/binoculars(H), slot_l_store)
var/obj/item/clothing/under/uniform = H.w_uniform
var/obj/item/clothing/accessory/armor/coldwar/pasgt/one = new /obj/item/clothing/accessory/armor/coldwar/pasgt(null)
var/obj/item/clothing/accessory/armor/coldwar/pasgt/green/two = new /obj/item/clothing/accessory/armor/coldwar/pasgt/green(null)
var/obj/item/clothing/accessory/armor/coldwar/plates/b3/three = new /obj/item/clothing/accessory/armor/coldwar/plates/b3(null)
var/randarmor = rand(1,3)
switch (randarmor)
if (1)
uniform.attackby(one, H)
if (2)
uniform.attackby(two, H)
if (3)
uniform.attackby(three, H)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/smallpouches/ak74(H), slot_belt)
//head
var/randhat = rand(1,3)
switch (randhat)
if (1)
H.equip_to_slot_or_del(new /obj/item/clothing/head/pakol(H), slot_head)
if (2)
H.equip_to_slot_or_del(new /obj/item/clothing/head/turban(H), slot_head)
if (3)
H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/modern/ssh_68(H), slot_head)
//back
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/submachinegun/ak74(H), slot_shoulder)
H.civilization = "Mujahideen"
if (H.f_style != "Full Beard" && H.f_style != "Long Beard")
H.f_style = pick("Full Beard", "Long Beard")
H.s_tone = rand(-92,-80)
var/new_hair = pick("Dark Brown","Black")
var/hex_hair = hair_colors[new_hair]
H.r_hair = hex2num(copytext(hex_hair, 2, 4))
H.g_hair = hex2num(copytext(hex_hair, 4, 6))
H.b_hair = hex2num(copytext(hex_hair, 6, 8))
H.r_facial = hex2num(copytext(hex_hair, 2, 4))
H.g_facial = hex2num(copytext(hex_hair, 4, 6))
H.b_facial = hex2num(copytext(hex_hair, 6, 8))

H.add_note("Role", "You are a <b>[title]</b>. Follow the orders from your Warchief and lead your men against your enemies.")
H.setStat("strength", STAT_MEDIUM_HIGH)
H.setStat("crafting", STAT_NORMAL)
H.setStat("rifle", STAT_MEDIUM_HIGH)
H.setStat("dexterity", STAT_NORMAL)
H.setStat("dexterity", STAT_MEDIUM_HIGH)
H.setStat("swords", STAT_HIGH)
H.setStat("pistol", STAT_NORMAL)
H.setStat("bows", STAT_MEDIUM_HIGH)
Expand Down Expand Up @@ -1851,25 +1926,29 @@
if (6)
H.equip_to_slot_or_del(new /obj/item/clothing/under/insurgent_black(H), slot_w_uniform)
//gun and belt
var/randgun = rand(1,6)
switch(randgun)
var/randloadout = rand(1,5)
switch(randloadout)
if (1)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/semiautomatic/sks(H), slot_shoulder)
var/obj/item/clothing/under/uniform = H.w_uniform
var/obj/item/clothing/accessory/storage/webbing/light/chinese/sks/webbing = new /obj/item/clothing/accessory/storage/webbing/light/chinese/sks(null)
uniform.attackby(webbing, H)
if (2)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/boltaction/mosin/m30(H), slot_shoulder)
var/obj/item/clothing/under/uniform = H.w_uniform
var/obj/item/clothing/accessory/storage/webbing/nlfsmallpouches/mosinp = new /obj/item/clothing/accessory/storage/webbing/nlfsmallpouches/filled_mosin(null)
uniform.attackby(mosinp, H)
if (3)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/boltaction/mosin/m30/sniper(H), slot_shoulder)
var/obj/item/clothing/under/uniform = H.w_uniform
var/obj/item/clothing/accessory/storage/webbing/nlfsmallpouches/mosinp = new /obj/item/clothing/accessory/storage/webbing/nlfsmallpouches/filled_mosin(null)
uniform.attackby(mosinp, H)
if (4)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/boltaction/enfield(H), slot_shoulder)
if (5)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/submachinegun/ak47(H), slot_shoulder)
if (6)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/submachinegun/g3(H), slot_shoulder)
if (prob(50))
H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/smallpouches(H), slot_belt)
if (prob(15))
H.equip_to_slot_or_del(new /obj/item/weapon/radio/faction1(H), slot_back)

H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/smallpouches/green/ak47(H), slot_belt)
if (5)
H.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/submachinegun/fal(H), slot_shoulder)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/smallpouches/fal(H), slot_belt)
//head
var/randhat1 = rand (1,3)
var/randhat2 = rand (1,2)
Expand Down Expand Up @@ -1905,15 +1984,15 @@
H.g_facial = hex2num(copytext(hex_hair, 4, 6))
H.b_facial = hex2num(copytext(hex_hair, 6, 8))

H.add_note("Role", "You are a <b>[title]</b>, an islamic rifleman militia. Use guerrila warfare tactics to defeat the infidels!")
H.add_note("Role", "You are a <b>[title]</b>. Use guerrila warfare tactics to defeat the infidels!")
H.setStat("strength", STAT_MEDIUM_HIGH)
H.setStat("crafting", STAT_NORMAL)
H.setStat("rifle", STAT_LOW)
H.setStat("rifle", STAT_NORMAL)
H.setStat("dexterity", STAT_MEDIUM_HIGH)
H.setStat("swords", STAT_LOW)
H.setStat("pistol", STAT_LOW)
H.setStat("bows", STAT_MEDIUM_LOW)
H.setStat("medical", STAT_MEDIUM_LOW)
H.setStat("swords", STAT_NORMAL)
H.setStat("pistol", STAT_MEDIUM_LOW)
H.setStat("bows", STAT_NORMAL)
H.setStat("medical", STAT_LOW)
give_random_name(H)

return TRUE

0 comments on commit ea60711

Please sign in to comment.