From 5cbbb5f062d545a38d1f74857cafb0d5186cc4fb Mon Sep 17 00:00:00 2001 From: Kiri Date: Sun, 9 Oct 2022 23:08:58 -0700 Subject: [PATCH] Initial commit. README.md still incoming. --- Changelog | 3 + LICENSE.txt | 20 + caco_summon.zs | 768 ++++++++++++++++++++++++ sndinfo.txt | 2 + sounds/kiri_caco_despawn.wav | Bin 0 -> 31789 bytes sounds/kiri_caco_throw.wav | Bin 0 -> 14125 bytes source_sprites/cacoplushie.aseprite | Bin 0 -> 10524 bytes source_sprites/cacoplushie_glowing1.png | Bin 0 -> 4031 bytes source_sprites/cacoplushie_glowing2.png | Bin 0 -> 3982 bytes source_sprites/cacoplushie_glowing3.png | Bin 0 -> 4015 bytes source_sprites/cacoplushie_idle.png | Bin 0 -> 3629 bytes source_sprites/cacoplushie_small.png | Bin 0 -> 1456 bytes textures.txt | 33 + zscript.zs | 3 + 14 files changed, 829 insertions(+) create mode 100644 Changelog create mode 100644 LICENSE.txt create mode 100644 caco_summon.zs create mode 100644 sndinfo.txt create mode 100644 sounds/kiri_caco_despawn.wav create mode 100644 sounds/kiri_caco_throw.wav create mode 100644 source_sprites/cacoplushie.aseprite create mode 100644 source_sprites/cacoplushie_glowing1.png create mode 100644 source_sprites/cacoplushie_glowing2.png create mode 100644 source_sprites/cacoplushie_glowing3.png create mode 100644 source_sprites/cacoplushie_idle.png create mode 100644 source_sprites/cacoplushie_small.png create mode 100644 textures.txt create mode 100644 zscript.zs diff --git a/Changelog b/Changelog new file mode 100644 index 0000000..64ff17d --- /dev/null +++ b/Changelog @@ -0,0 +1,3 @@ +2022-10-09 Kiri Jolly + + * *: Initial release. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..be21182 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright 2022 Kiri Jolly + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/caco_summon.zs b/caco_summon.zs new file mode 100644 index 0000000..ffe80f5 --- /dev/null +++ b/caco_summon.zs @@ -0,0 +1,768 @@ +// ---------------------------------------------------------------------- +// Cursed Cacodemon Plushie +// ---------------------------------------------------------------------- +// +// Scrawled on the tag is the text "Even in death, I will protect you, +// and not even the gods can stop me." +// + +const HDLD_KIRI_CACOPLUSHIE = "kac"; +const KIRI_CACOPLUSHIE_FAINTED_MONSTER_COOLDOWN = 60; +const KIRI_CACOPLUSHIE_MAX_HEALTH = 420; +const KIRI_CACOPLUSHIE_CLASS = "Trilobite"; + +// For testing out shield mechanics, if we ever open this up to other +// monster types... +// +// const KIRI_CACOPLUSHIE_CLASS = "PainLord"; +// +// Hey, want to see something totally broken? Spawn an imp healer and +// raise an army! +// +// const KIRI_CACOPLUSHIE_CLASS = "Regentipede"; + +const KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_HEALTH = 1; +const KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_SHIELD = 2; +const KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_NAME_INDEX = 3; +const KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_FAINTED = 4; + +class KiriCacodemonPlushieProjectile : SlowProjectile +{ + // Copied some necessary bits from the normal grenade. + default + { + mass 500; + scale 0.3; + } + + // What item threw this? + actor thrower; + + states + { + spawn: + APBX BCDE 2 { + A_Trail(); + } loop; + } + + override void ExplodeSlowMissile(line blockingline, actor blockingobject) + { + spawnCritter(blockingobject); + destroy(); + } + + action void spawnCritter(actor beaned_actor) + { + KiriCacodemonPlushie plushie = KiriCacodemonPlushie(invoker.thrower); + + if(plushie) { + plushie.spawnCritter(invoker, beaned_actor); + } + } +} + +class KiriCacodemonPlushie : HDWeapon { + + static const String KIRI_CACOPLUSHIE_NAMES[] = { + "", + "Billy", + "Jimmy", + "Bob", + "Kiddo", + "Lucky", + "Daisy", + "Murderface Skullslasher", + "Monica, Destroyer of Worlds", + "Fido", + "Thor", + "Loki", + "Taiyo", + "Fluffy", + "Leonardo", + "Donatello", + "Raphael", + "Michaelangelo", + "Winston", + "Egon", + "Ray", + "Peter", + "Zuul", + "Gozer", + "Slimer", + "Janine", + "Dana", + "Quark", + "Odo", + "Sisko", + "Jake", + "Nog", + "Rom", + "Kira", + "Jadzia", + "Ezri", + "Kor", + "Koloth", + "Kang", + "Garrack", + "Bashir", + "O'brien" + }; + + actor spawned_creature; + actor spawned_spawnball; + int fainted_monster_despawn_countdown; + + default + { + +hdweapon.fitsinbackpack; + + +INVENTORY.PERSISTENTPOWER; + +INVENTORY.INVBAR; + + inventory.icon "KCPLD0"; + inventory.pickupsound "misc/p_pkup"; + inventory.pickupmessage "Picked up a cursed Cacodemon plushie."; + inventory.amount 1; + inventory.maxamount 1; + + hdweapon.refid HDLD_KIRI_CACOPLUSHIE; + + scale 0.63; + + tag "cacodemon plushie"; + } + + states + { + spawn: + KCPL D 0 -1; + stop; + + unload: + goto ready; + + firemode: + goto ready; + + altfire: + goto ready; + + ready: + KCPL B 0 { A_weaponready(WRF_ALL); A_WeaponBusy(false); } + + // Jump to idle and skip glowing anim if we have a monster or + // spawnball out. + KCPL B 0 A_JumpIf(!(invoker.spawned_spawnball || invoker.spawned_creature), 4); + + // Glowing animation. + KCPL E 5; + KCPL F 5; + KCPL G 5; + KCPL G 0 A_Jump(255, 2); + + // Idle animation. + KCPL B 1; + KCPL B 0; + + goto readyend; + + waiting: + KCPL B 5; + KCPL B 0 A_Refire("waiting"); + goto ready; + + fire: + KCPL B 2 offset(0, 20); + KCPL B 2 offset(0, 40); + KCPL B 2 offset(0, 55) { + A_StartSound("kiri/cacoplushie_throw"); + } + + KCPL B 2 offset(0, 70); + KCPL B 0 { + if(!invoker.spawned_spawnball && !invoker.spawned_creature) { + + // No spawn ball or monster. Throw a new one. + + A_AlertMonsters(); + + bool success; + actor newcaconade; + + [success, newcaconade] = A_SpawnItemEx( + "KiriCacodemonPlushieProjectile", + xofs : cos(invoker.owner.pitch) * -4, + yofs : 3, // Offset a little bit for a right handed throw. + zofs : invoker.owner.height * 0.88 - sin(invoker.owner.pitch) * -4, + xvel : cos(invoker.owner.pitch) * 20, + yvel : 0, + zvel : -sin(invoker.owner.pitch) * 20, + flags : SXF_NOCHECKPOSITION | SXF_TRANSFERPITCH); + + if(success) { + + KiriCacodemonPlushieProjectile newcaconade2 = + KiriCacodemonPlushieProjectile(newcaconade); + newcaconade2.thrower = invoker; + invoker.spawned_spawnball = newcaconade2; + invoker.fainted_monster_despawn_countdown = + KIRI_CACOPLUSHIE_FAINTED_MONSTER_COOLDOWN; + + } + + } else { + + // Monster or spawn ball is already out. Recall it. + invoker.despawnMonster(); + } + + // Reset help text, now that the context has changed. + invoker.A_SetHelpText(); + } + KCPL B 2 offset(0, 70); + KCPL B 2 offset(0, 55); + KCPL B 2 offset(0, 40); + KCPL B 2 offset(0, 20); + goto waiting; + + reload: + KCPL B 2 offset(0, 20); + KCPL B 2 offset(0, 40); + KCPL B 2 offset(0, 55); + KCPL B 5 offset(0, 70); + KCPL B 0 { drinkBloodPack(); } + KCPL B 2 offset(0, 70); + KCPL B 2 offset(0, 55); + KCPL B 2 offset(0, 40); + KCPL B 2 offset(0, 20); + goto ready; + + select0: + KCPL B 0 offset(0, 120); + ---- B 1 A_Raise(12); + wait; + + deselect0: + KCPL B 0; + ---- B 1 A_Lower(12); + wait; + + } + + action void drinkBloodPack() + { + // Refuse to feed active monsters. + if(invoker.spawned_creature || invoker.spawned_spawnball) { + console.printf( + "Cannot feed blood to %s when they're not in their plushie!", + invoker.getMonsterName()); + return; + } + + // Refuse to feed monsters that don't need any more. + if(invoker.getMonsterHealth() == invoker.getMonsterMaxHealth()) { + console.printf( + "%s doesn't need any more food for now.", + invoker.getMonsterName()); + return; + } + + if(invoker.owner.countInv("SecondBlood")) { + + // Consume a bloodbag and add health. + A_StartSound("potion/chug"); + invoker.owner.A_TakeInventory("SecondBlood", 1, TIF_NOTAKEINFINITE); + invoker.setMonsterHealth( + invoker.getMonsterHealth() + + invoker.getMonsterMaxHealth() * 0.25); + + // Throw out a spend blood bag. + A_SpawnItemEx( + "BloodBagWorn", + xofs : 0, + yofs : 0, + zofs : invoker.owner.height / 2.0, + xvel : frandom(0, 10), + yvel : frandom(-5, 5), + flags : SXF_NOCHECKPOSITION); + + } else { + + // No bloodbags available. Take health instead. + HDBleedingWound hbl = HDBleedingWound.inflict( + invoker.owner, 2, 1, source : invoker.owner); + + HDPlayerPawn(invoker.owner).bloodloss += 0.1; + + A_StartSound(invoker.owner.painsound); + + invoker.setMonsterHealth( + invoker.getMonsterHealth() + + invoker.getMonsterMaxHealth() * 0.1); + } + } + + // These are for allowing multiple copies of this weapon at the + // same time, but the only things on it that get stored are the + // weaponstatus, meaning that we lose the pointer to the spawned + // actor. So we have to despawn any actor we have out before + // switching. + // + // Yes, this means you only get one monster to play with at a + // time. + override bool AddSpareWeapon( + actor newowner) + { + return AddSpareWeaponRegular(newowner); + } + + override hdweapon GetSpareWeapon(actor newowner, bool reverse, bool doselect) + { + despawnMonster(); + return GetSpareWeaponRegular(newowner, reverse, doselect); + } + + override void beginPlay() + { + super.beginPlay(); + setRandomMonsterName(); + setMonsterHealth(getMonsterMaxHealth()); + setMonsterShield(getMonsterMaxShield()); + } + + int getMonsterHealth() const + { + return weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_HEALTH]; + } + + int getMonsterMaxHealth() const + { + return getDefaultByType(KIRI_CACOPLUSHIE_CLASS).health; + } + + void setMonsterHealth(int health) + { + if(health > getMonsterMaxHealth()) { + health = getMonsterMaxHealth(); + } + weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_HEALTH] = health; + + if(health > getMonsterMaxHealth() / 2.0) { + setMonsterFainted(false); + } + } + + int getMonsterShield() const + { + return weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_SHIELD]; + } + + int getMonsterMaxShield() const + { + return getDefaultByType(KIRI_CACOPLUSHIE_CLASS).maxshields; + } + + void setMonsterShield(int shield) + { + if(shield > getMonsterMaxShield()) { + shield = getMonsterMaxShield(); + } + + weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_SHIELD] = shield; + } + + override void DrawHUDStuff(HDStatusBar sb, HDWeapon hdw, HDPlayerPawn hpl) + { + KiriCacodemonPlushie plushie = KiriCacodemonPlushie(hdw); + String monsterName = getMonsterName(); + int monsterHealth = getMonsterHealth(); + int monsterShield = getMonsterShield(); + int monsterFainted = getMonsterFainted(); + + if(plushie) { + + // Draw the monster name. Use a green color if it's okay + // or a red color if it's fainted. + sb.drawstring( + sb.psmallfont, + monsterName, (-20,-30), + sb.DI_TEXT_ALIGN_RIGHT | sb.DI_TRANSLATABLE | sb.DI_SCREEN_CENTER_BOTTOM, + monsterFainted ? Font.CR_DARKRED : Font.CR_GREEN); + + // Draw blood packs where we'd normally put ammo. + sb.drawimage( + "PBLDA0", + (-48,-10), + sb.DI_SCREEN_CENTER_BOTTOM, + scale : (0.75, 0.75)); + + sb.drawnum( + hpl.countinv("SecondBlood"), + -48, -8, + sb.DI_SCREEN_CENTER_BOTTOM); + + // TODO: Draw something like blue potions or batteries for + // shields? + + // Draw health. + sb.drawwepnum( + monsterHealth, + getMonsterMaxHealth()); + + // Draw shield. + sb.drawwepnum( + monsterShield, + getMonsterMaxShield(), posy: -10); + } + } + + override double weaponbulk() + { + return 10; + } + + void setRandomMonsterName() + { + weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_NAME_INDEX] = + random(1, KiriCacodemonPlushie.KIRI_CACOPLUSHIE_NAMES.size() - 1); + + A_SetHelpText(); + } + + String getMonsterName() const + { + return KiriCacodemonPlushie.KIRI_CACOPLUSHIE_NAMES[ + weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_NAME_INDEX]]; + } + + void despawnMonster() + { + // Whatever we despawn, play the despawn sound for it. + if(spawned_spawnball || spawned_creature) { + A_StartSound("kiri/cacoplushie_despawn"); + } + + // If we have a spawn projectile flying through the air, + // despawn that. + if(spawned_spawnball) { + spawned_spawnball.A_SpawnItemEx("TeleFog"); + spawned_spawnball.destroy(); + } + + // If we have the creature in the world, despawn that. + if(spawned_creature) { + spawned_creature.A_SpawnItemEx("TeleFog"); + spawned_creature.destroy(); + A_PrintBold(String.format("%s has returned to the plushie.", getMonsterName())); + } + + // Adjust help text because the context changed. Now we can + // feed it and possibly deploy it. + A_SetHelpText(); + } + + void setMonsterFainted(bool fainted) + { + weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_FAINTED] = fainted; + } + + bool getMonsterFainted() const + { + return weaponstatus[KIRI_CACOPLUSHIE_WEAPONSTATUS_MONSTER_FAINTED]; + } + + override void DoEffect() + { + if(spawned_creature) { + + // Check on shields. + HDMobBase mob = HDMobBase(spawned_creature); + if(mob) { + Actor shieldItemActor = mob.FindInventory("HDMagicShield"); + HDMagicShield shieldItem = HDMagicShield(shieldItemActor); + if(shieldItem) { + + // Counteract natural shield regeneration. We want + // to limit this to when the monster is asleep. + if(shieldItem.amount > getMonsterShield()) { + shieldItem.amount = getMonsterShield(); + } + + // Notify us if shields have dropped below what we + // last saw them at. + if(shieldItem.amount != getMonsterShield()) { + setMonsterShield(shieldItem.amount); + } + } + } + + // Counteract monster health regeneration. We want to + // limit this to when the player feeds the monster. + if(spawned_creature.health > getMonsterHealth()) + { + spawned_creature.health = getMonsterHealth(); + } + + // Notify us if the health has dropped. + if(spawned_creature.health != getMonsterHealth()) + { + setMonsterHealth(spawned_creature.health); + } + + // If the monster reaches zero health, then despawn it + // after a short delay. We still want the death animation + // to play out. + if(spawned_creature.health <= 0.0) { + + setMonsterFainted(true); + + // On the first frame of the monster being downed, + // show the message. + if(fainted_monster_despawn_countdown == + KIRI_CACOPLUSHIE_FAINTED_MONSTER_COOLDOWN) + { + A_PrintBold(String.format("%s has fainted!", getMonsterName())); + } + + // After some number of frames, actually despawn the + // monster. + fainted_monster_despawn_countdown -= 1; + if(fainted_monster_despawn_countdown <= 0) { + despawnMonster(); + } + } + + } else { + + // Monster is inside plushie. Sloooooooooooooowly + // regenerate shields, if the monster is awake. + if(!getMonsterFainted()) { + + if(getMonsterShield() == -64) { + + // Shields were totally broken. Extremely low chance + // to restore shields each frame. + if(frandom(0, 100) < 0.1) { + A_PrintBold( + String.format( + "%s's shields have started charging.", + getMonsterName())); + setMonsterShield(0); + } + + } else { + + // Shields are up and slowly recharging. + if(frandom(0, 100) < 5) { + setMonsterShield(getMonsterShield() + 1); + } + + } + } + } + } + + override void consolidate() + { + // Restore shields on level exit. + if(!getMonsterFainted()) { + setMonsterShield(getMonsterMaxShield()); + } + + A_SetHelpText(); + } + + action void spawnCritter(actor spawn_ball, actor beaned_actor) + { + bool success = false; + + // Handle monsters that have already fainted. They won't + // spawn. + if(invoker.getMonsterFainted()) + { + A_PrintBold( + String.format( + "%s has fainted and cannot manifest yet.", + invoker.getMonsterName())); + + spawn_ball.A_SpawnItemEx("TeleFog"); + + return; + } + + int tries = 0; + + // Offset to spawn at. Absolute directions, not relative. + float offset_x = 0; + float offset_y = 0; + float offset_z = 0; + + // If we hit an enemy in the face, back off of that enemy by + // the sum of us and their radius. We already know we can't + // spawn inside of it. + if(beaned_actor) { + offset_x -= cos(spawn_ball.angle) * (beaned_actor.radius + 30); + offset_y -= sin(spawn_ball.angle) * (beaned_actor.radius + 30); + } + + int extra_flags = 0; // FIXME: Remove this. + actor spawned_thing; + + // Cumulative random offset we'll use to jitter the location a + // bit in the hopes of finding a valid spot. + float random_offset_x = 0; + float random_offset_y = 0; + + // We need to give this a LOT of leeway as far as where we can + // spawn. The monsters are quite large compared to the + // projectile, meaning it can easily get into places that the + // monsters can't spawn into, so we need to aggressively + // search for a nearby spot to spawn into. + while(tries < 30 && !success) { + + // This will add some jitter that will thrash + // back-and-forth on both X and Y axes, allowing us to + // gradually cover a bigger and bigger potential area. + float jitter_amount = 1; + if(frandom(0, 1) <= 0.5) { + random_offset_x = -abs(random_offset_x) - frandom(0, jitter_amount); + } else { + random_offset_x = abs(random_offset_x) + frandom(0, jitter_amount); + } + if(frandom(0, 1) <= 0.5) { + random_offset_y = -abs(random_offset_y) - frandom(0, jitter_amount); + } else { + random_offset_y = abs(random_offset_y) + frandom(0, jitter_amount); + } + + // This will move the offset back a bit, away from the + // point of contact, and back towards the player, while + // also mixing in the jitter we calculated. + offset_x -= (spawn_ball.vel.x * 0.3) + random_offset_x; + offset_y -= (spawn_ball.vel.y * 0.3) + random_offset_y; + + // Z axis is a little different. We already know the + // optimal height to spawn at would be the center of the + // sector, vertically, so nudge us, on that axis, towards + // the center of the sector. No need for jitter. + float sector_center_z = + (spawn_ball.ceilingz + spawn_ball.floorz) / 2.0; + if(spawn_ball.pos.z + offset_z > sector_center_z) { + offset_z -= 2.0; + } else if(spawn_ball.pos.z + offset_z < sector_center_z) { + offset_z += 2.0; + } + + tries += 1; + + // Spawn debug particles showing all the points we've + // tried. + if(hd_debug > 1) { + spawn_ball.A_SpawnParticle( + "yellow", + flags : 0, + size : 12, + xoff : offset_x, + yoff : offset_y, + zoff : offset_z); + } + + // Attempt to spawn the monster. + [success, spawned_thing] = spawn_ball.A_SpawnItemEx( + KIRI_CACOPLUSHIE_CLASS, + xofs : offset_x, + yofs : offset_y, + zofs : offset_z, + xvel : 0, + yvel : 0, + zvel : 0, + angle : 0, + flags : SXF_SETMASTER | SXF_ABSOLUTEPOSITION | extra_flags); + + if(success) { + + // Spawn succeeded. Stop searching. + break; + } + } + + if(success) { + + // Copy health over. + spawned_thing.health = invoker.getMonsterHealth(); + + // Copy shields over (if applicable). + Actor shieldItemActor = spawned_thing.FindInventory("HDMagicShield"); + HDMagicShield shieldItem = HDMagicShield(shieldItemActor); + if(shieldItem) { + shieldItem.amount = invoker.getMonsterShield(); + } + + // Copy player colors over. + spawned_thing.translation = invoker.owner.translation; + + // FIXME: Would prefer something to make the monster more + // distinct. Other attempts were made to distinguish the + // monster... + // + // This one was good because it made the monsters very + // distinct (built-in GZDoom translation): + // + // spawned_thing.settranslation("Ice") + // spawned_thing.translation = TRANSLATION_ICE; + // + // This would make it render in the transparent style of + // the ghosts (minus the coloration): + // + // spawned_thing.A_SetRenderStyle(1.0, STYLE_ADD); + // + // This one just made it all purple. Certainly looks + // distinct! + // + // spawned_thing.A_SetTranslation("AllPurple"); + + // Spawn flash. + spawn_ball.A_SpawnItemEx( + "TeleFog", + xofs : offset_x, + yofs : offset_y, + zofs : offset_z, + flags : SXF_ABSOLUTEPOSITION); + + // Keep track of the spawned creature. + invoker.spawned_creature = spawned_thing; + + // If we smacked a mob in the face, then make that the + // spawned monster's target immediately. + if(beaned_actor) { + if(beaned_actor is "HDMobBase") { + spawned_thing.target = beaned_actor; + } + } + + } else { + + // Tell the player we failed. + console.printf("Failed to summon %s: Not enough room.", invoker.getMonsterName()); + + } + } + + override String, double getPickupSprite(bool usespare) + { + return "KCPLD0"; + } + + override String getHelpText() + { + if(spawned_creature || spawned_spawnball) + { + return WEPHELP_FIRE.." Return "..getMonsterName().." to the plushie.\n"; + } + + return + WEPHELP_FIRE .. " Summon "..getMonsterName()..".\n".. + WEPHELP_RELOAD .. " Feed blood to "..getMonsterName()..".\n"; + } +} diff --git a/sndinfo.txt b/sndinfo.txt new file mode 100644 index 0000000..98a3196 --- /dev/null +++ b/sndinfo.txt @@ -0,0 +1,2 @@ +kiri/cacoplushie_throw "sounds/kiri_caco_throw.wav" +kiri/cacoplushie_despawn "sounds/kiri_caco_despawn.wav" diff --git a/sounds/kiri_caco_despawn.wav b/sounds/kiri_caco_despawn.wav new file mode 100644 index 0000000000000000000000000000000000000000..eab0bb88a62dabcfe1d814a0890d10f839e3e6f7 GIT binary patch literal 31789 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 literal 0 HcmV?d00001 diff --git a/sounds/kiri_caco_throw.wav b/sounds/kiri_caco_throw.wav new file mode 100644 index 0000000000000000000000000000000000000000..e60a85144e592b53f47846f040994ab19ca2fa3d GIT binary patch literal 14125 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 literal 0 HcmV?d00001 diff --git a/source_sprites/cacoplushie.aseprite b/source_sprites/cacoplushie.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..5d93efd1d33676d4c2cba5a69c1c246afa6776ef GIT binary patch literal 10524 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 literal 0 HcmV?d00001 diff --git a/source_sprites/cacoplushie_glowing1.png b/source_sprites/cacoplushie_glowing1.png new file mode 100644 index 0000000000000000000000000000000000000000..ea813903fbbfcae008fbefc3dc42a06b74d3ee82 GIT binary patch literal 4031 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 JthDfq_%}`n_aFcO literal 0 HcmV?d00001 diff --git a/source_sprites/cacoplushie_glowing2.png b/source_sprites/cacoplushie_glowing2.png new file mode 100644 index 0000000000000000000000000000000000000000..1a62e046cf2654c9301c77e8390bef7f82ac54c6 GIT binary patch literal 3982 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 Ik#LCfKUQYbEC2ui literal 0 HcmV?d00001 diff --git a/source_sprites/cacoplushie_glowing3.png b/source_sprites/cacoplushie_glowing3.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd259449a49d27c211559b103baa69eeb4de579 GIT binary patch literal 4015 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