diff --git a/code/game/objects/items/rogueweapons/melee/polearms.dm b/code/game/objects/items/rogueweapons/melee/polearms.dm index ac554dee2..383a19ff0 100644 --- a/code/game/objects/items/rogueweapons/melee/polearms.dm +++ b/code/game/objects/items/rogueweapons/melee/polearms.dm @@ -257,6 +257,12 @@ smeltresult = /obj/item/ingot/iron max_blade_int = 200 +/obj/item/rogueweapon/halberd/naginata + name = "naginata" + desc = "A Cudese polearm with a long bladed end." + icon_state = "naginata" + item_state = "naginata" + /datum/intent/spear/cut/halberd damfactor = 0.9 swingdelay = 10 @@ -397,6 +403,12 @@ smelt_bar_num = 3 sellprice = 300 +/obj/item/rogueweapon/greatsword/odachi + name = "odachi" + desc = "A long curved blade originating in Cudao, too unwieldly to be handled one-handed. Larger than its sibling, the Tachi." + icon_state = "odachi" + item_state = "odachi" + /obj/item/rogueweapon/estoc name = "estoc" desc = "A sword possessed of a long and tapered blade that is intended to be thrust between the \ diff --git a/code/game/objects/items/rogueweapons/melee/swords.dm b/code/game/objects/items/rogueweapons/melee/swords.dm index 9409365ac..80a8d6042 100644 --- a/code/game/objects/items/rogueweapons/melee/swords.dm +++ b/code/game/objects/items/rogueweapons/melee/swords.dm @@ -114,6 +114,30 @@ is_silver = TRUE icon_state = "silverswordshort" +/obj/item/rogueweapon/sword/katana + name = "katana" + desc = "A slightly curved sword originating in Cudao, sharpened to a razor's edge." + force = 20 + possible_item_intents = list(/datum/intent/sword/cut, /datum/intent/sword/thrust) + gripped_intents = list(/datum/intent/sword/cut, /datum/intent/sword/thrust) + icon_state = "katana" + item_state = "katana" + minstr = 4 + wdefense = 4 + +/obj/item/rogueweapon/sword/tachi + icon_state = "tachi" + item_state = "tachi" + icon = 'icons/roguetown/weapons/32.dmi' + name = "tachi" + desc = "A slightly curved sword originating in Cudao, sharpened to a razor's edge. Longer than its sibling, the Katana." + force = 25 + force_wielded = 30 + possible_item_intents = list(/datum/intent/sword/cut, /datum/intent/sword/thrust, /datum/intent/sword/strike) + gripped_intents = list(/datum/intent/sword/cut, /datum/intent/sword/thrust, /datum/intent/sword/strike, /datum/intent/sword/chop) + bigboy = 1 + wlength = WLENGTH_LONG + /obj/item/rogueweapon/sword/long force = 25 force_wielded = 30 @@ -385,6 +409,7 @@ if("onbelt") return list("shrink" = 0.5,"sx" = -4,"sy" = -6,"nx" = 5,"ny" = -6,"wx" = 0,"wy" = -6,"ex" = -1,"ey" = -6,"nturn" = 100,"sturn" = 156,"wturn" = 90,"eturn" = 180,"nflip" = 0,"sflip" = 0,"wflip" = 0,"eflip" = 0,"northabove" = 0,"southabove" = 1,"eastabove" = 1,"westabove" = 0) + /datum/intent/sword/strike name = "pommel strike" icon_state = "instrike" diff --git a/code/modules/clothing/rogueclothes/cloaks.dm b/code/modules/clothing/rogueclothes/cloaks.dm index 616fa9e18..96dc7bab8 100644 --- a/code/modules/clothing/rogueclothes/cloaks.dm +++ b/code/modules/clothing/rogueclothes/cloaks.dm @@ -1363,3 +1363,13 @@ icon_state = "naledisash" item_state = "naledisash" desc = "A limp piece of fabric traditionally used to fasten bags that are too baggy, but in modern days has become more of a fashion statement than anything." + +/obj/item/clothing/cloak/straw + name = "straw cloak" + desc = "A lightweight and water-repellant cloak fashioned from woven rice straw, originating in Cudao." + icon_state = "straw_cloak" + alternate_worn_layer = TABARD_LAYER + mob_overlay_icon = 'icons/roguetown/clothing/onmob/cloaks.dmi' + slot_flags = ITEM_SLOT_ARMOR|ITEM_SLOT_SHIRT|ITEM_SLOT_CLOAK + r_sleeve_status = SLEEVE_NORMAL + l_sleeve_status = SLEEVE_NORMAL diff --git a/code/modules/clothing/rogueclothes/gloves.dm b/code/modules/clothing/rogueclothes/gloves.dm index 4fe2ec63d..7c1846cb1 100644 --- a/code/modules/clothing/rogueclothes/gloves.dm +++ b/code/modules/clothing/rogueclothes/gloves.dm @@ -127,7 +127,7 @@ /obj/item/clothing/gloves/roguetown/plate/iron name = "iron plate gauntlets" - icon_state = "iron_gauntlets" + icon_state = "igauntlets" max_integrity = 135 smeltresult = /obj/item/ingot/iron diff --git a/code/modules/clothing/rogueclothes/hats.dm b/code/modules/clothing/rogueclothes/hats.dm index 31a29ce49..a97ac2bd0 100644 --- a/code/modules/clothing/rogueclothes/hats.dm +++ b/code/modules/clothing/rogueclothes/hats.dm @@ -746,6 +746,28 @@ smeltresult = /obj/item/ingot/steel smelt_bar_num = 2 +/obj/item/clothing/head/roguetown/helmet/heavy/samurai + name = "steel samurai helmet" + desc = "A steel Cudese helmet with a menacing visage, evocative of a demon, intended to strike terror into the foe beholding it." + icon_state = "samurai" + item_state = "samurai" + emote_environment = 3 + flags_inv = HIDEEARS|HIDEFACE|HIDEHAIR + block2add = FOV_RIGHT|FOV_LEFT + smeltresult = /obj/item/ingot/steel + smelt_bar_num = 2 + +/obj/item/clothing/head/roguetown/helmet/heavy/samurai/iron + name = "iron samurai helmet" + desc = "An iron Cudese helmet with a menacing visage, evocative of a demon, intended to strike terror into the foe beholding it." + icon_state = "iron_samurai" + item_state = "iron_samurai" + emote_environment = 3 + flags_inv = HIDEEARS|HIDEFACE|HIDEHAIR + block2add = FOV_RIGHT|FOV_LEFT + smeltresult = /obj/item/ingot/iron + smelt_bar_num = 2 + /obj/item/clothing/head/roguetown/helmet/heavy/sheriff name = "barred helmet" desc = "A helmet which offers good protection to the face at the expense of vision." @@ -1478,3 +1500,11 @@ desc = "A feathered leather hat, to show them all your superiority." icon_state = "duelhat" sewrepair = TRUE + +/obj/item/clothing/head/roguetown/cudese_straw_hat + name = "cudese straw hat" + desc = "A straw hat popular in Cudao, water-resistant and good at keeping the sun off." + icon_state = "cudese_straw_hat" + item_state = "cudese_straw_hat" + sewrepair = TRUE + color = "#fbc588" diff --git a/code/modules/clothing/rogueclothes/shirts.dm b/code/modules/clothing/rogueclothes/shirts.dm index 8614b52c2..40a80ceaa 100644 --- a/code/modules/clothing/rogueclothes/shirts.dm +++ b/code/modules/clothing/rogueclothes/shirts.dm @@ -372,3 +372,39 @@ desc = "A billowing tunic made of the finest silks and softest fabrics. Inlaid with golden thread, this is the height of fashion for the wealthiest of wearers." icon_state = "stewardtunic" item_state = "stewardtunic" + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic + slot_flags = ITEM_SLOT_SHIRT|ITEM_SLOT_ARMOR + name = "cudese tunic" + desc = "A tunic originating from Cudao." + body_parts_covered = CHEST|GROIN|ARMS|LEGS|VITALS + icon_state = "cudese_tunic" + boobed = FALSE + r_sleeve_status = SLEEVE_NORMAL + l_sleeve_status = SLEEVE_NORMAL + flags_inv = HIDECROTCH|HIDEBOOB + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/green + color = CLOTHING_GREEN + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/blue + color = CLOTHING_BLUE + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/red + color = CLOTHING_RED + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/purple + color = CLOTHING_PURPLE + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/white + color = CLOTHING_WHITE + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/black + color = CLOTHING_BLACK + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/ucolored + color = COLOR_GRAY + +/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/random/Initialize() + color = pick(CLOTHING_PURPLE, CLOTHING_RED, CLOTHING_BLUE, CLOTHING_GREEN, CLOTHING_BLACK, CLOTHING_WHITE, COLOR_GRAY) + ..() diff --git a/code/modules/jobs/job_types/roguetown/adventurer/types/antag/ronin.dm b/code/modules/jobs/job_types/roguetown/adventurer/types/antag/ronin.dm new file mode 100644 index 000000000..1f56d587c --- /dev/null +++ b/code/modules/jobs/job_types/roguetown/adventurer/types/antag/ronin.dm @@ -0,0 +1,82 @@ +/datum/advclass/ronin + name = "Ronin" + tutorial = "A disgraced Samurai of Cudao, fallen from grace. Perhaps you took too many contracts for unscrupulous buyers, perhaps you disgraced yourself thoroughly on a previous job, or perhaps you even killed your own master. Whatever led you down this path, the shame was too great to return to your old life." + allowed_sexes = list(MALE, FEMALE) + allowed_races = RACES_SHUNNED_UP + outfit = /datum/outfit/job/roguetown/bandit/ronin + category_tags = list(CTAG_BANDIT) + cmode_music = 'sound/music/combat_yinbladesmen.ogg' + +/datum/outfit/job/roguetown/bandit/ronin/pre_equip(mob/living/carbon/human/H) + ..() + H.mind.adjust_skillrank(/datum/skill/misc/swimming, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/climbing, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/sneaking, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/maces, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/wrestling, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/unarmed, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/polearms, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/whipsflails, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/knives, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/reading, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/riding, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/athletics, 4, TRUE) + H.change_stat("strength", 2) + H.change_stat("endurance", 3) + H.change_stat("constitution", 2) + H.change_stat("perception", 1) + ADD_TRAIT(H, TRAIT_HEAVYARMOR, TRAIT_GENERIC) + ADD_TRAIT(H, TRAIT_STEELHEARTED, TRAIT_GENERIC) + belt = /obj/item/storage/belt/rogue/leather/black + beltr = /obj/item/quiver/arrows + id = /obj/item/mattcoin + neck = /obj/item/clothing/neck/roguetown/chaincoif/iron/blk + cloak = /obj/item/clothing/cloak/straw + shirt = /obj/item/clothing/suit/roguetown/armor/gambeson/heavy/blk + head = /obj/item/clothing/head/roguetown/helmet/heavy/samurai/iron/blk + armor = /obj/item/clothing/suit/roguetown/armor/brigandine/coatplates/iron/blk + pants = /obj/item/clothing/under/roguetown/platelegs/iron/blk + shoes = /obj/item/clothing/shoes/roguetown/boots/armor/iron/blk + gloves = /obj/item/clothing/gloves/roguetown/plate/iron/blk + backl = /obj/item/storage/backpack/rogue/satchel/black + backpack_contents = list(/obj/item/flashlight/flare/torch/lantern = 1, /obj/item/storage/belt/rogue/pouch/coins/poor = 1) + + var/weapons = list("Katana & Recurve Bow","Tachi & Buckler","Odachi","Naginata") + var/weapon_choice = input(H,"Choose your weapon.", "TAKE UP ARMS") as anything in weapons + switch(weapon_choice) + if("Katana & Recurve Bow") + H.put_in_hands(new /obj/item/rogueweapon/sword/katana(H), TRUE) + H.put_in_hands(new /obj/item/gun/ballistic/revolver/grenadelauncher/bow/recurve(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 1, TRUE) + if("Tachi & Buckler") + H.put_in_hands(new /obj/item/rogueweapon/sword/tachi(H), TRUE) + H.put_in_hands(new /obj/item/rogueweapon/shield/buckler(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/shields, 1, TRUE) + if("Odachi") + H.put_in_hands(new /obj/item/rogueweapon/greatsword/odachi(H), TRUE) + H.put_in_hands(new /obj/item/gwstrap(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + if("Naginata") + H.put_in_hands(new /obj/item/rogueweapon/halberd/naginata(H), TRUE) + H.put_in_hands(new /obj/item/gwstrap(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/polearms, 1, TRUE) + +//Funny dye stuff +/obj/item/clothing/neck/roguetown/chaincoif/iron/blk + color = CLOTHING_GREY + +/obj/item/clothing/head/roguetown/helmet/heavy/samurai/iron/blk + color = CLOTHING_GREY + +/obj/item/clothing/suit/roguetown/armor/brigandine/coatplates/iron/blk + color = CLOTHING_GREY + +/obj/item/clothing/under/roguetown/platelegs/iron/blk + color = CLOTHING_GREY + +/obj/item/clothing/gloves/roguetown/plate/iron/blk + color = CLOTHING_GREY diff --git a/code/modules/jobs/job_types/roguetown/mercenaries/classes/yinbladesmen.dm b/code/modules/jobs/job_types/roguetown/mercenaries/classes/yinbladesmen.dm new file mode 100644 index 000000000..f1e2dff69 --- /dev/null +++ b/code/modules/jobs/job_types/roguetown/mercenaries/classes/yinbladesmen.dm @@ -0,0 +1,151 @@ +/datum/advclass/mercenary/yinbladesman + name = "Yin Bladesmen" + tutorial = "Mysterious, renowned, and expensive - these traditional bladesmen carry on martial traditions passed down from the survivors of the Kui Empire. With Cudao's airships, these mercenaries can be seen far and wide in the East and West, spreading word of their tradition through their ferocity on the battlefield. Though mercenaries working for coin, these bladesmen hold their honour in highest regard and carry out their tasks with a grave sense of duty, making them popular bodyguards for the wealthy and elite, though they can be found in the employ of anyone who can afford their high price." + allowed_sexes = list(MALE, FEMALE) + allowed_races = RACES_ALL_KINDS + outfit = /datum/outfit/job/roguetown/mercenary/yinbladesman + category_tags = list(CTAG_MERCENARY) + cmode_music = 'sound/music/combat_yinbladesmen.ogg' + +/datum/outfit/job/roguetown/mercenary/yinbladesman/pre_equip(mob/living/carbon/human/H) + ..() + + // CLASS ARCHETYPES + H.adjust_blindness(-3) + var/classes = list("Samurai","Ninja") + var/classchoice = input("Choose your archetypes", "Available archetypes") as anything in classes + + switch(classchoice) + if("Samurai") + H.set_blindness(0) + to_chat(H, span_warning("You are a Samurai of Cudao, an armoured swordsman experienced with a variety of weapons.")) + H.mind.adjust_skillrank(/datum/skill/misc/swimming, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/climbing, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/sneaking, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/maces, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/wrestling, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/unarmed, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/polearms, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/whipsflails, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/knives, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/reading, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/riding, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/athletics, 4, TRUE) + H.change_stat("strength", 2) + H.change_stat("endurance", 3) + H.change_stat("constitution", 2) + H.change_stat("perception", 1) + ADD_TRAIT(H, TRAIT_HEAVYARMOR, TRAIT_GENERIC) + ADD_TRAIT(H, TRAIT_STEELHEARTED, TRAIT_GENERIC) + belt = /obj/item/storage/belt/rogue/leather + beltr = /obj/item/quiver/arrows + neck = /obj/item/clothing/neck/roguetown/chaincoif/iron + cloak = /obj/item/clothing/cloak/straw + shirt = /obj/item/clothing/suit/roguetown/armor/gambeson/heavy + head = /obj/item/clothing/head/roguetown/helmet/heavy/samurai/iron + armor = /obj/item/clothing/suit/roguetown/armor/brigandine/coatplates/iron + pants = /obj/item/clothing/under/roguetown/platelegs/iron + shoes = /obj/item/clothing/shoes/roguetown/boots/armor/iron + gloves = /obj/item/clothing/gloves/roguetown/plate/iron + backl = /obj/item/storage/backpack/rogue/satchel + backpack_contents = list(/obj/item/flashlight/flare/torch/lantern = 1, /obj/item/storage/belt/rogue/pouch/coins/poor = 1) + + var/weapons = list("Katana & Recurve Bow","Tachi & Buckler","Odachi","Naginata") + var/weapon_choice = input(H,"Choose your weapon.", "TAKE UP ARMS") as anything in weapons + switch(weapon_choice) + if("Katana & Recurve Bow") + H.put_in_hands(new /obj/item/rogueweapon/sword/katana(H), TRUE) + H.put_in_hands(new /obj/item/gun/ballistic/revolver/grenadelauncher/bow/recurve(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 1, TRUE) + if("Tachi & Buckler") + H.put_in_hands(new /obj/item/rogueweapon/sword/tachi(H), TRUE) + H.put_in_hands(new /obj/item/rogueweapon/shield/buckler(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/shields, 1, TRUE) + if("Odachi") + H.put_in_hands(new /obj/item/rogueweapon/greatsword/odachi(H), TRUE) + H.put_in_hands(new /obj/item/gwstrap(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + if("Naginata") + H.put_in_hands(new /obj/item/rogueweapon/halberd/naginata(H), TRUE) + H.put_in_hands(new /obj/item/gwstrap(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/polearms, 1, TRUE) + + if("Ninja") + H.set_blindness(0) + to_chat(H, span_warning("You are a Ninja of Cudao, a rogue or assassin that utilises a curious combination of blade and magic.")) + H.mind.adjust_skillrank(/datum/skill/misc/swimming, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/climbing, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/sneaking, 4, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/lockpicking, 4, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/wrestling, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/unarmed, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/knives, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/reading, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/alchemy, 2, TRUE) + H.mind.adjust_skillrank(/datum/skill/misc/athletics, 3, TRUE) + H.mind.adjust_skillrank(/datum/skill/magic/arcane, 3, TRUE) + H.change_stat("strength", 1) + H.change_stat("endurance", 2) + H.change_stat("perception", 3) + H.change_stat("speed", 1) + H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/touch/darkvision) + H.mind.AddSpell(new /obj/effect/proc_holder/spell/invoked/featherfall) + H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/smoke) + H.mind.AddSpell(new /obj/effect/proc_holder/spell/invoked/invisibility) + if(H.mind) + H.mind.adjust_spellpoints(-4)//No ninjas with lightning bolt or fireball or blade burst pls. I understand the fantasy but it would be far too busted. You get what you start with. + ADD_TRAIT(H, TRAIT_DODGEEXPERT, TRAIT_GENERIC) + ADD_TRAIT(H, TRAIT_STEELHEARTED, TRAIT_GENERIC) + belt = /obj/item/storage/belt/rogue/leather/black + beltl = /obj/item/rogueweapon/huntingknife/idagger/steel/parrying + beltr = /obj/item/quiver/arrows + neck = /obj/item/clothing/neck/roguetown/coif/blk + shirt = /obj/item/clothing/suit/roguetown/armor/gambeson/heavy/blk + mask = /obj/item/clothing/mask/rogue/ragmask/blk + armor = /obj/item/clothing/suit/roguetown/armor/leather/heavy/belted/blk + pants = /obj/item/clothing/under/roguetown/heavy_leather_pants/blk + shoes = /obj/item/clothing/shoes/roguetown/boots + gloves = /obj/item/clothing/gloves/roguetown/fingerless_leather/blk + backr = /obj/item/storage/backpack/rogue/satchel/black + backpack_contents = list(/obj/item/storage/belt/rogue/pouch/coins/poor = 1, /obj/item/lockpickring/mundane = 1) + + var/weapons = list("Katana & Recurve Bow","Dagger & Longbow") + var/weapon_choice = input(H,"Choose your weapon.", "TAKE UP ARMS") as anything in weapons + switch(weapon_choice) + if("Katana & Recurve Bow") + H.put_in_hands(new /obj/item/rogueweapon/sword/katana(H), TRUE) + H.put_in_hands(new /obj/item/gun/ballistic/revolver/grenadelauncher/bow/recurve(H), TRUE) + H.put_in_hands(new /obj/item/quiver/arrows(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/swords, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 1, TRUE) + if("Dagger & Longbow") + H.put_in_hands(new /obj/item/rogueweapon/huntingknife/idagger/steel/special(H), TRUE) + H.put_in_hands(new /obj/item/gun/ballistic/revolver/grenadelauncher/bow/longbow(H), TRUE) + H.put_in_hands(new /obj/item/quiver/arrows(H), TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/knives, 1, TRUE) + H.mind.adjust_skillrank(/datum/skill/combat/bows, 1, TRUE) + +// Funny recolours for the Ninja stuff. +/obj/item/clothing/mask/rogue/ragmask/blk + color = CLOTHING_GREY + +/obj/item/clothing/suit/roguetown/armor/leather/heavy/belted/blk + color = CLOTHING_GREY + +/obj/item/clothing/under/roguetown/heavy_leather_pants/blk + color = CLOTHING_GREY + +/obj/item/clothing/gloves/roguetown/fingerless_leather/blk + color = CLOTHING_GREY + +/obj/item/clothing/suit/roguetown/armor/gambeson/heavy/blk + color = CLOTHING_GREY + +/obj/item/clothing/neck/roguetown/coif/blk + color = CLOTHING_GREY diff --git a/code/modules/roguetown/roguecrafting/sewing.dm b/code/modules/roguetown/roguecrafting/sewing.dm index 5dee9b0c4..19241aa7c 100644 --- a/code/modules/roguetown/roguecrafting/sewing.dm +++ b/code/modules/roguetown/roguecrafting/sewing.dm @@ -91,6 +91,13 @@ /obj/item/natural/fibers = 2) craftdiff = 1 +/datum/crafting_recipe/roguetown/sewing/cudese_tunic + name = "cudese tunic" + result = list(/obj/item/clothing/suit/roguetown/shirt/cudese_tunic/random) + reqs = list(/obj/item/natural/cloth = 2, + /obj/item/natural/fibers = 2) + craftdiff = 1 + /datum/crafting_recipe/roguetown/sewing/tights name = "tights" result = list(/obj/item/clothing/under/roguetown/tights/random) @@ -125,6 +132,12 @@ reqs = list(/obj/item/natural/fibers = 3) craftdiff = 1 +/datum/crafting_recipe/roguetown/sewing/cudese_strawhat + name = "cudese straw hat" + result = list(/obj/item/clothing/head/roguetown/cudese_straw_hat) + reqs = list(/obj/item/natural/fibers = 3) + craftdiff = 1 + /datum/crafting_recipe/roguetown/sewing/sack name = "sack hood" result = list(/obj/item/clothing/head/roguetown/menacing) @@ -249,6 +262,12 @@ name = "bog surcoat" result = list(/obj/item/clothing/cloak/stabard/bog) +/datum/crafting_recipe/roguetown/sewing/straw_cloak + name = "straw cloak" + result = list(/obj/item/clothing/cloak/straw) + reqs = list(/obj/item/natural/fibers = 6) + craftdiff = 2 + /datum/crafting_recipe/roguetown/sewing/robe name = "robes" result = list(/obj/item/clothing/suit/roguetown/shirt/robe) diff --git a/html/changelogs/furrycactus - cudao_stuff.yml b/html/changelogs/furrycactus - cudao_stuff.yml new file mode 100644 index 000000000..2de2325e5 --- /dev/null +++ b/html/changelogs/furrycactus - cudao_stuff.yml @@ -0,0 +1,54 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# maptweak +# - (map updates/tweaks) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# refactor +# - (refactors code) +# admin +# - (makes changes to administrator tools) +################################# + +# Your name. +author: "Furrycactus" + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds several new weapons from Cudao, two new Mercenary subclasses, and one Bandit subclass." diff --git a/icons/roguetown/clothing/cloaks.dmi b/icons/roguetown/clothing/cloaks.dmi index ef40353b9..b1b42304f 100644 Binary files a/icons/roguetown/clothing/cloaks.dmi and b/icons/roguetown/clothing/cloaks.dmi differ diff --git a/icons/roguetown/clothing/gloves.dmi b/icons/roguetown/clothing/gloves.dmi index 8f9c5b9b9..555793913 100644 Binary files a/icons/roguetown/clothing/gloves.dmi and b/icons/roguetown/clothing/gloves.dmi differ diff --git a/icons/roguetown/clothing/head.dmi b/icons/roguetown/clothing/head.dmi index e628bd265..31dd4b78d 100644 Binary files a/icons/roguetown/clothing/head.dmi and b/icons/roguetown/clothing/head.dmi differ diff --git a/icons/roguetown/clothing/onmob/cloaks.dmi b/icons/roguetown/clothing/onmob/cloaks.dmi index 546a9615d..bd55098d5 100644 Binary files a/icons/roguetown/clothing/onmob/cloaks.dmi and b/icons/roguetown/clothing/onmob/cloaks.dmi differ diff --git a/icons/roguetown/clothing/onmob/head.dmi b/icons/roguetown/clothing/onmob/head.dmi index e6e3273a9..1fa051b4c 100644 Binary files a/icons/roguetown/clothing/onmob/head.dmi and b/icons/roguetown/clothing/onmob/head.dmi differ diff --git a/icons/roguetown/clothing/onmob/shirts.dmi b/icons/roguetown/clothing/onmob/shirts.dmi index c665a89a1..cf84c11ef 100644 Binary files a/icons/roguetown/clothing/onmob/shirts.dmi and b/icons/roguetown/clothing/onmob/shirts.dmi differ diff --git a/icons/roguetown/clothing/shirts.dmi b/icons/roguetown/clothing/shirts.dmi index 5989abf31..81a2f2aa4 100644 Binary files a/icons/roguetown/clothing/shirts.dmi and b/icons/roguetown/clothing/shirts.dmi differ diff --git a/icons/roguetown/weapons/32.dmi b/icons/roguetown/weapons/32.dmi index 399d33d19..5f2064178 100644 Binary files a/icons/roguetown/weapons/32.dmi and b/icons/roguetown/weapons/32.dmi differ diff --git a/icons/roguetown/weapons/64.dmi b/icons/roguetown/weapons/64.dmi index 1d67e6217..c7faff42a 100644 Binary files a/icons/roguetown/weapons/64.dmi and b/icons/roguetown/weapons/64.dmi differ diff --git a/modular_azurepeak/code/datums/loadout.dm b/modular_azurepeak/code/datums/loadout.dm index d6c21fa10..8e5df3dc4 100644 --- a/modular_azurepeak/code/datums/loadout.dm +++ b/modular_azurepeak/code/datums/loadout.dm @@ -306,4 +306,16 @@ GLOBAL_LIST_EMPTY(loadout_items) name = "Vocalist's Talisman" path = /obj/item/rogue/instrument/vocals +/datum/loadout_item/cudese_tunic + name = "Cudese Tunic" + path = /obj/item/clothing/suit/roguetown/shirt/cudese_tunic/random + +/datum/loadout_item/cudese_straw_hat + name = "Cudese Straw Hat" + path = /obj/item/clothing/head/roguetown/cudese_straw_hat + +/datum/loadout_item/straw_cloak + name = "Straw Cloak" + path = /obj/item/clothing/cloak/straw + // Custom Items Go Here diff --git a/roguetown.dme b/roguetown.dme index bfc2e0fd9..0ff657c6a 100644 --- a/roguetown.dme +++ b/roguetown.dme @@ -2192,6 +2192,7 @@ #include "code\modules\jobs\job_types\roguetown\adventurer\types\antag\roguemage.dm" #include "code\modules\jobs\job_types\roguetown\adventurer\types\antag\sawbones.dm" #include "code\modules\jobs\job_types\roguetown\adventurer\types\antag\sellsword.dm" +#include "code\modules\jobs\job_types\roguetown\adventurer\types\antag\ronin.dm" #include "code\modules\jobs\job_types\roguetown\adventurer\types\combat\amazon.dm" #include "code\modules\jobs\job_types\roguetown\adventurer\types\combat\barbarian.dm" #include "code\modules\jobs\job_types\roguetown\adventurer\types\combat\bard.dm" @@ -2268,6 +2269,7 @@ #include "code\modules\jobs\job_types\roguetown\mercenaries\classes\steppesman.dm" #include "code\modules\jobs\job_types\roguetown\mercenaries\classes\underdweller.dm" #include "code\modules\jobs\job_types\roguetown\mercenaries\classes\warscholar.dm" +#include "code\modules\jobs\job_types\roguetown\mercenaries\classes\yinbladesmen.dm" #include "code\modules\jobs\job_types\roguetown\nobility\bailiff.dm" #include "code\modules\jobs\job_types\roguetown\nobility\captain.dm" #include "code\modules\jobs\job_types\roguetown\nobility\hand.dm" diff --git a/sound/music/combat_yinbladesmen.ogg b/sound/music/combat_yinbladesmen.ogg new file mode 100644 index 000000000..7887a28b1 Binary files /dev/null and b/sound/music/combat_yinbladesmen.ogg differ diff --git a/sound/music/credits.txt b/sound/music/credits.txt index 0c2b7b24d..c4c06beca 100644 --- a/sound/music/credits.txt +++ b/sound/music/credits.txt @@ -37,3 +37,4 @@ templarofpsydon.ogg: 26 - Duty and Honor II (with Ryan Patrick Buckley) - Chival shirleigh_keep.ogg: Tavern (Undead) - World of Warcraft: Classic weeping_woods.ogg: Darkshire - World of Warcraft: Classic combat_templar.ogg: Nebakov Siege Theme (Poverty and Famine var.) - Kingdom Come: Deliverance II +combat_yinbladesmen.ogg: Duel Theme - Ghosts of Tsushima