From d78e6cc818d6427d571ff880fb704e8ee8bff881 Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:32:55 +1100 Subject: [PATCH] Kobold Monkeys (#22108) * add * fix maybe * clean up yaml * clean up more yaml maybe * dash * second dash * aahhh handcuffss * balancing(?) * sprite and desc change --- .../ghost/roles/ghost-role-component.ftl | 3 + .../catalog/fills/crates/livestock-crates.ftl | 3 + .../Catalog/Cargo/cargo_livestock.yml | 10 +++ .../Prototypes/Catalog/Fills/Crates/npc.yml | 8 ++ .../Prototypes/Entities/Mobs/NPCs/animals.yml | 71 ++++++++++++++++++ .../Entities/Objects/Misc/monkeycube.yml | 35 +++++++++ .../Objects/Specific/rehydrateable.yml | 10 +++ .../Mobs/Animals/kobold.rsi/kobold.png | Bin 0 -> 2851 bytes .../Mobs/Animals/kobold.rsi/meta.json | 15 ++++ 9 files changed, 155 insertions(+) create mode 100644 Resources/Textures/Mobs/Animals/kobold.rsi/kobold.png create mode 100644 Resources/Textures/Mobs/Animals/kobold.rsi/meta.json diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index dae14a300d..dbc2257b51 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -44,6 +44,9 @@ ghost-role-information-kangaroo-description = You're a kangaroo! Do whatever kan ghost-role-information-monkey-name = Monkey ghost-role-information-monkey-description = Ook ook! +ghost-role-information-kobold-name = Kobold +ghost-role-information-kobold-description = Be the little gremlin you are, yell at people and beg for meat! + ghost-role-information-rat-king-name = Rat King ghost-role-information-rat-king-description = You are the Rat King, scavenge food in order to produce rat minions to do your bidding. ghost-role-information-rat-king-rules = You are an antagonist, scavenge, attack, and grow your hoard! diff --git a/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl b/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl index ab974cbc79..f2ccc1c3ac 100644 --- a/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl +++ b/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl @@ -37,6 +37,9 @@ ent-CrateNPCGorilla = Gorilla crate ent-CrateNPCMonkeyCube = Monkey cube crate .desc = A crate containing three boxes of monkey cubes. +ent-CrateNPCKoboldCube = Kobold cube crate + .desc = A crate containing three boxes of kobold cubes. + ent-CrateNPCMouse = Mice crate .desc = A crate containing five mice. diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml index 3133c0206e..eb5d5cd76e 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml @@ -128,6 +128,16 @@ category: Livestock group: market +- type: cargoProduct + id: LivestockKoboldCube + icon: + sprite: Mobs/Animals/kobold.rsi + state: kobold + product: CrateNPCKoboldCube + cost: 2000 + category: Livestock + group: market + - type: cargoProduct id: LivestockMouse icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml index b88b82d7d4..7960fe5598 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml @@ -126,6 +126,14 @@ contents: - id: MonkeyCubeBox +- type: entity + id: CrateNPCKoboldCube + parent: CrateGenericSteel + components: + - type: StorageFill + contents: + - id: KoboldCubeBox + - type: entity id: CrateNPCMouse parent: CrateLivestock diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 092677d550..6ed65d6856 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -1156,6 +1156,77 @@ - type: IdExaminable - type: AlwaysRevolutionaryConvertible +- type: entity + name: kobold + id: MobKobold + parent: MobMonkey + description: Cousins to the sentient race of lizard people, kobolds blend in with industrial tiling and are as nasty as monkeys; ready to pull out your hair and stab you to death. + components: + - type: LizardAccent + - type: Speech # I don't know how to get it to work and i want someone to make them speak like a lizard with normal accents (or optionally another language altogether) + speechSounds: Lizard + speechVerb: Reptilian + - type: Vocal + sounds: + Male: UnisexReptilian + Female: UnisexReptilian + Unsexed: UnisexReptilian + - type: MobThresholds + thresholds: + 0: Alive + 40: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 3.5 + baseSprintSpeed: 5 + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/pierce.ogg + angle: 30 + animation: WeaponArcPunch + damage: + types: + Piercing: 9 + - type: Temperature + heatDamageThreshold: 400 + coldDamageThreshold: 285 + currentTemperature: 310.15 + specificHeat: 42 + coldDamage: + types: + Cold : 0.1 #per second, scales with temperature & other constants + heatDamage: + types: + Heat : 0.1 #per second, scales with temperature & other constants + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: kobold + sprite: Mobs/Animals/kobold.rsi + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "ears" ] + - map: [ "id" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "clownedon" ] + sprite: "Effects/creampie.rsi" + state: "creampie_human" + visible: false + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeat + amount: 2 + - type: GhostRole + prob: 0.1 + makeSentient: true + name: ghost-role-information-kobold-name + description: ghost-role-information-kobold-description + - type: entity name: guidebook monkey parent: MobMonkey diff --git a/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml b/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml index 3814ec2923..acb04c2234 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml @@ -33,6 +33,41 @@ tags: - MonkeyCube +- type: entity + parent: BoxCardboard + name: kobold cube box + id: KoboldCubeBox + description: Condensed kobolds in a cube. Just add water! + components: + - type: StorageFill + contents: + - id: KoboldCubeWrapped + amount: 6 + - type: Sprite + sprite: Objects/Misc/monkeycube.rsi + state: box + +- type: entity + parent: BaseItem + name: kobold cube + suffix: Wrapped + id: KoboldCubeWrapped + description: Unwrap this to get a kobold cube. + components: + - type: Item + size: Tiny + - type: SpawnItemsOnUse + items: + - id: KoboldCube + sound: + path: /Audio/Effects/unwrap.ogg + - type: Sprite + sprite: Objects/Misc/monkeycube.rsi + state: wrapper + - type: Tag + tags: + - MonkeyCube + - type: entity parent: BoxCardboard name: monkey cube box diff --git a/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml b/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml index 1888c4c4a9..c92fed2e00 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml @@ -49,6 +49,16 @@ layer: - LowImpassable +- type: entity + parent: MonkeyCube + id: KoboldCube + name: kobold cube + description: Just add water! + components: + - type: Rehydratable + possibleSpawns: + - MobKobold + - type: entity parent: PlushieCarp id: DehydratedSpaceCarp diff --git a/Resources/Textures/Mobs/Animals/kobold.rsi/kobold.png b/Resources/Textures/Mobs/Animals/kobold.rsi/kobold.png new file mode 100644 index 0000000000000000000000000000000000000000..1abd0e22eb9515dfb379152e9bfc1a246590c971 GIT binary patch literal 2851 zcmZ`*2~?BE7XAas5(v;>T`0w$Ae$`-M5+>#Kxn{(E$m`NBq0G(vOow8L6EQs;uB<1 z5K5~rpdgD;7L61Ep(u)gAeKTY2+~q{Dmz#ZUINr=kDYVopP4)NyWgE}?ws?VbaOob zgX%&70DzH6L=V|$EAOhxvhNjU_^+}765(;c4yf$V`$M+SWcZSUTwH)%vbn0P%Uic+ zw(P4GMmiJ$0H*o!4%vz^xDEh{Axtk{zORcjCXmZUQt4b80~y5*TSH-^FtRC|!KZ>z zY!)X16NN*pd0=F7xfz83*If9aIE1f@8~7!c#{l;rEsz!nJQM^$ERP<9@gO>Ez-22O zB81Nm!=O+CfdDDkjpXuzQI^)$)+h@!3XL|Gd6-8CIecoAIVZw!J;+~ih>VCp9y5&3 zT)&X5za zA%{#Dlzc}9v-lv49L5i{k||{$CCg{ye6mCX*LWlNbksWzD71yeK64ASIocZa_I$GR zvGhO;pUG!2)`WX|o;3vtEdKjexxZWj7E`V)hDGHB;}B8ibVd+0lEp{hnQUq>1B+UB zc^|rNeLo@=^#O9M{K%L?9*hVsD^e~x9=*p3yC%eY*1zRnNBDja@vils2)7U}pDQaT z9y5^4;WKz)JXvY2Gj8zxyT?Cc{Y~!8Ve;|ljR5~Jzk_<`YA^&IU%=&sdaYfOIh?iLKrSp*^dGbgIJzaGl+ha{icj!&F$W;Iq1#K zurAus?j`V!j6GT(?ZkF8+U%lGRaK>b)KRzM?D)}#?d>fINA(Jm84(%Uu%_6RvDL(-ahIFBU_hC~4cKo;>lHTUy}O z)Ye{daBx7E>TjPLdys1~)N&qjJT9)Gsgo_B(d=SZmaX^hpB*FvCAx*>Wo4eSb}793 z)G773(YsoK85dJKO91?x2C3At-@&sp@F&Rid>6Pbb7v@H-{A2P;tAo*%*?g(3gUe3OM|?X&E{Rl?^G3L_%cQN&d({%V zdHR#4Z*=bNlL{*reRRPoL0sHW5(WpErav~)9E~}Hy^}dUeBaqEmS%H1C9~JHZ9=gr>*}=XLMi*)qC@Lk+hiqMLY9b_d`iUg!mbjmS zz9L!&jVG*@3|u-t+#oCI)yY;E40dVc{{6IFDAd8jhYw#VF18;W8ZvyHfzkW1U-;B< z(zAcI>vm6%XJV(V)!w~jX=%{jzP?5GtB!?}70!UMYI1v%0S!5?yzjZOrSE;0VufY$ z(!M|gOZzD5p7C4u!A5}Y$B~AJNyRhLhLTT&$c_V;;e4p(%|5Jxh$L1u=u+tl$NZ?@ z*wNwI`rG7m$!)&>z-8L$Mv7;7HmI94oJ>Av^U`TNkZnh|RV~sum%dFuA6~nsEfm!q zzWU8ihM&Z(^b8v-4ozMrn#G;BS+(v=h?iLIw`m<8FG&e{W*D<2aog|hRy$m?a!FvO zEh3(%a8e1bwiCW6*lB^ov4i5;byt0^j-`u=+!rNZX^e#~8g0S94tpbXK4n0D!>H}d zR03yskVkb^uT4fgE&`=HvTNd32R9*K(M(GqFuG6b3g&a7ABDa=bU=7Q>$PjOC3Hvp z11jX6%OPspiYSL^T)r?eR#0N5n|I8$k$0r_)sg;4IB?gWhev(#Q8dLi+~4Fd13BzI zk+2Eh_lvuzuPVT8wlcHlcv7|+2+S}4oKIU)qiuCaRfi_~3m$-~#&ykkKtWN6Xpf>M zsUo%@Te(YGU1gS~^A%YNPQhD@VF{HL6<_3{Nn>G;Yi1@ViXhztmi8CUPS~og<3q)n zw~|Rsmydj_FV1j4&HvL|QqxYABi z`>{x3gP~l`$jE5(;Qso9Wk(7+drBcrL&04%qe^lux~KC(!f0+&=`u~pVWm{*s4K!@ zEXZg{O20Z1djaCt)3eeh6$V2@UA?`GmulYL-VA$4@N94l_(+9t0ir?L%tJ%;P6L6; z*yhIh`PwN(_id@uFuaPhj!uS$vR^-$qevRl`@@^~aNx>`s*k2KM9=E!yL3(SCXIgsh15U9 zQ%SwuV@cM=`t3Jzb8~lJZjQNCS67CQ{gXa;Zj)cg*=yGarl~zUQ|3zndV7rFJ*0{EMf}}BLJGk7W^Fx!EXg1w! z+7)?fGeb*M0JhgKZkZLpe}TK$9Hag|Mb$_?+arAJ$0@&Ge&!M7s$zRAO)4QDBdmZ| zN3+tGUa5doskVW_y}PXZlQH(!p8XsUk>TDBajV`0g(sDsSvG=`cAoj`DXiuwt*8_Z Wv|4?(r7}nUgG#n{C05!6B>W#kYN>1h literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Animals/kobold.rsi/meta.json b/Resources/Textures/Mobs/Animals/kobold.rsi/meta.json new file mode 100644 index 0000000000..33b5878391 --- /dev/null +++ b/Resources/Textures/Mobs/Animals/kobold.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Drawn by Ubaser", + "states": [ + { + "name": "kobold", + "directions": 4 + } + ] +} -- 2.52.0