diff options
| author | historia <[not public]> | 2026-07-01 22:30:31 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-01 22:30:31 -0400 |
| commit | c14c2e403c75a913e1a6d962fb6fe64f013adae5 (patch) | |
| tree | 75070293fe2535b594ac72e501cbf08a3f1146e0 /data | |
| parent | 8eec7b75ff9c8c368b252373db45fb891732d2ca (diff) | |
| download | thehouseoficarus-c14c2e403c75a913e1a6d962fb6fe64f013adae5.tar.gz | |
fix: combat formulas and mob attack types (mobs switch attack styles if safespotting)
Diffstat (limited to 'data')
42 files changed, 1773 insertions, 1597 deletions
diff --git a/data/help/attack.yaml b/data/help/attack.yaml index fb65ef6..1c41771 100644 --- a/data/help/attack.yaml +++ b/data/help/attack.yaml @@ -13,3 +13,16 @@ description: | Attacks occur at weapon speed on the 600ms tick. Use "style" to change combat style. Move in any direction to attempt to flee combat. + + Damage formula (OSRS-standard): + Max hit = (EffectiveStrength * (StrBonus + 64) + 320) / 640 + Attack roll = EffectiveAttack * (AttackBonus + 64) + Defense roll = (mob.Defense + 9) * (mobDefBonus + 64) + Hit chance: if AtkRoll > DefRoll: 1 - (Def+2)/(2*Atk), else Atk/(2*Def) + Damage: roll [0, MaxHit], 0 becomes 1 + + Effective level = base_level + style_bonus + tech_boosts + 8 (player) + base_level + 9 (NPC/defense) + base_level + 9 (science, no style bonus) + + See 'combat', 'stats', 'style', and 'science' for details. diff --git a/data/help/combat.yaml b/data/help/combat.yaml index f588d81..7a190f7 100644 --- a/data/help/combat.yaml +++ b/data/help/combat.yaml @@ -3,18 +3,40 @@ category: "General" description: | Attack a mob with: attack <mob> - Your accuracy depends on your attack type (stab, slash, crush, ranged, - or science) and your total equipment bonus for that type. Your weapon - determines the attack type. + Combat follows standard OSRS formulas for accuracy, hit chance, + maximum hit, and damage output. The three attack styles (melee, + ranged, and science) each use the same core formula structure. - Mobs have per-type defense bonuses. A skeleton with high slash defense - but weak crush defense takes more hits from a mace than a sword. + Attack roll: EffectiveAttack * (EquipmentBonus + 64) + Max hit: (EffectiveStrength * (EquipmentStrength + 64) + 320) / 640 + Hit chance: If AttackRoll > DefenseRoll: + 1 - (DefRoll + 2) / (2 * (AtkRoll + 1)) + Else: + AtkRoll / (2 * (DefRoll + 1)) + Damage: Roll [0, MaxHit], 0 becomes 1 + + Effective Levels: + Player: level + style_bonus + tech_boosts + 8 + NPC: level + 9 + Science: level + 9 (no style bonus) + + Your accuracy depends on your weapon's attack type (stab, slash, + crush, ranged, or science) and your total equipment bonus for + that type. + + Mobs have per-type defense bonuses. A skeleton with high slash + defense but weak crush defense takes more hits from a mace than + a sword. Mobs also have a weakness element — matching it with + a science module's element boosts both accuracy and damage. Use the 'style' command to change your combat style: - accurate - +3 accuracy level, XP to accuracy + accurate - +3 accuracy/ranged level, XP to accuracy/ranged aggressive - +3 strength level, XP to strength defensive - +3 defense level, XP to defense balanced - +1 to all, XP split evenly + For melee weapons the style affects attack/strength/defense. + For ranged weapons accurate and aggressive both give +3 ranged. + Use 'stats' to see your total equipment bonuses and current attack roll. Use 'look <item>' to see an item's combat stats. diff --git a/data/help/hide.yaml b/data/help/hide.yaml index eb2d27a..45565e4 100644 --- a/data/help/hide.yaml +++ b/data/help/hide.yaml @@ -1,7 +1,8 @@ name: "hide" category: "Skills" description: | - Hide behind a safespot object to block melee attacks. + Hide behind a safespot object to block melee attacks. Mobs that also + have a ranged or science attack will switch to it and keep hitting you. Usage: hide <object> hide behind <object> diff --git a/data/help/safespot.yaml b/data/help/safespot.yaml index 02dbb20..d584cf1 100644 --- a/data/help/safespot.yaml +++ b/data/help/safespot.yaml @@ -10,9 +10,10 @@ description: | Find a safespot: look <object> Leave a safespot: unhide (or unsafespot) - While in a safespot, melee mobs cannot reach you. Ranged and science - mobs can still attack. Attacking with melee while in a safespot forces - you out of cover. + While in a safespot, mobs cannot reach you with melee. A mob that also + has a ranged or science attack will switch to it and keep attacking you; + a mob with only melee is fully blocked. Attacking with melee while in a + safespot forces you out of cover. Safespots degrade over time while in use. Each degrade level shows a different message. When fully degraded, the safespot is destroyed. diff --git a/data/help/science.yaml b/data/help/science.yaml index 901b2f3..a8a79c9 100644 --- a/data/help/science.yaml +++ b/data/help/science.yaml @@ -37,6 +37,23 @@ description: | - 'trigger <mod>' queues a one-shot mod for your next attack - Only one mod can be queued at a time + Science damage formula: + Max hit = floor(mod_max_hit * (1 + equipment_science_damage% / 100)) + If the target is weak to your mod's element: + Max hit += floor(mod_max_hit * target_weakness% / 100) + + Elemental weakness: + Some mobs have an elemental weakness (solar, hydro, eco, bio, + chaos) with a weakness percent. If your module's element matches + the mob's weakness, you gain +weakness% accuracy and + +floor(base * weakness%) damage on top of your equipment bonus. + + Accuracy roll: EffectiveScience * (ScienceAttack + 64) + EffectiveScience = Science level + tech_boosts + 9 + + The mob's Science level determines its magic defense roll: + Defense roll = (mob.Science + 9) * (mob.ScienceDefense + 64) + Type 'mods' to see all modules you can currently use. - See also: trigger, autotrigger, mods, scavenging + See also: trigger, autotrigger, mods, scavenging, combat diff --git a/data/help/stats.yaml b/data/help/stats.yaml index 395f230..342306a 100644 --- a/data/help/stats.yaml +++ b/data/help/stats.yaml @@ -13,5 +13,22 @@ description: | Strength bonus increases your max melee hit. Ranged strength increases your max ranged hit. - Science damage increases your max science hit. - Technology bonus will affect technology abilities (future). + Science damage increases your max science hit as a percentage + multiplier on the module's base max hit. + Technology bonus reduces technology (prayer) drain. + + Formulas used for the displayed attack roll and max hit: + + Melee: + Attack roll = PlayerEffective(Accuracy, style_bonus) * (equip_attack + 64) + Max hit = (PlayerEffective(Strength, style_bonus) * (str_bonus + 64) + 320) / 640 + PlayerEffective(level, style) = level + style + tech_boosts + 8 + + Ranged: + Attack roll = PlayerEffective(Ranged, style_bonus) * (ranged_attack + 64) + Max hit = (PlayerEffective(Ranged, style_bonus) * (ranged_str + 64) + 320) / 640 + + Science: + Attack roll = ScienceEffective(Science) * (science_attack + 64) + Max hit = mod_max_hit * (1 + science_damage% / 100) + elemental_weakness_bonus + ScienceEffective(level) = level + tech_boosts + 9 diff --git a/data/help/style.yaml b/data/help/style.yaml index 663dc07..fbdf2bb 100644 --- a/data/help/style.yaml +++ b/data/help/style.yaml @@ -6,18 +6,23 @@ description: | Changes your combat style. Prefix matching is supported. Styles: - accurate - +3 to accuracy level, XP goes to Accuracy + accurate - +3 to accuracy/ranged level, XP goes to Accuracy/Ranged aggressive - +3 to strength level, XP goes to Strength defensive - +3 to defense level, XP goes to Defense balanced - +1 to all three, XP split evenly For ranged weapons: - accurate - +3 to ranged level - aggressive - +3 to ranged level (same as accurate for ranged) - defensive - +3 to defense level - balanced - +1 to ranged and defense + accurate - +3 to ranged level, XP to Ranged + aggressive - +3 to ranged level, XP to Ranged + defensive - +3 to defense level, XP to Defense + balanced - +1 to ranged and defense, XP split + + Your style bonus affects your effective level in the OSRS formulas: + PlayerEffective = level + style_bonus + tech_boosts + 8 + This is then used in both the attack roll and max hit calculation. Your style does NOT change your attack type. The attack type is determined by your weapon (e.g., swords use slash, daggers use stab). Use 'stats' to see how your current style affects your attack roll. + See 'combat' for full formula details. diff --git a/data/mobs/examples/ancient_construct.yaml b/data/mobs/examples/ancient_construct.yaml index ab878cd..139e6ae 100644 --- a/data/mobs/examples/ancient_construct.yaml +++ b/data/mobs/examples/ancient_construct.yaml @@ -1,56 +1,59 @@ -name: ancient construct -description: "An impossibly old machine from before the regression, still operational. Its design is alien even by modern standards, covered in glowing runes that predate recorded history." -idle_descriptions: - - "etches glowing symbols into the air" - - "reconfigures its form with clicking sounds" - - "projects a holographic star map" - - "emits a resonant chime that shakes the walls" -drops: - remains: scrap - loot: - - item_id: credits - weight: 40 - quantity: 10000 - - item_id: bloodjunk - weight: 20 - quantity: 8 - - item_id: deathjunk - weight: 15 - quantity: 8 - - table: gem_table - weight: 10 - - item_id: uncut_diamond - weight: 5 - quantity: 3 - - table: herb_table_high - weight: 10 combat: - kind: combat - stats: - hp: 152 - attack: 58 - strength: 62 - defense: 66 - attack_type: slash - speed: 4 aggressive: true + attack_types: + - slash + combat_descriptions: + - slices at %s with a blade of pure light + - unleashes a cascade of ancient energy at %s + - teleports behind %s and strikes + kind: combat respawn_ticks: 150 - bonuses: - attack_bonus: 55 - strength_bonus: 55 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 95 - slash_defense: 100 - crush_defense: 85 - science_defense: -40 - ranged_defense: 70 - weakness: chaos - size: massive - combat_descriptions: - - "slices at %s with a blade of pure light" - - "unleashes a cascade of ancient energy at %s" - - "teleports behind %s and strikes" + size: massive + stats: + attack: 58 + bonuses: + attack_bonus: 55 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 55 + defense: 66 + defenses: + crush_defense: 85 + ranged_defense: 70 + science_defense: -40 + slash_defense: 100 + stab_defense: 95 + weakness: chaos + weakness_percent: 50 + hp: 152 + max_melee_hit: 13 + speed: 4 + strength: 62 +description: An impossibly old machine from before the regression, still operational. Its design is alien even by modern standards, covered in glowing runes that predate recorded history. +drops: + loot: + - item_id: credits + quantity: 10000 + weight: 40 + - item_id: bloodjunk + quantity: 8 + weight: 20 + - item_id: deathjunk + quantity: 8 + weight: 15 + - table: gem_table + weight: 10 + - item_id: uncut_diamond + quantity: 3 + weight: 5 + - table: herb_table_high + weight: 10 + remains: scrap +idle_descriptions: + - etches glowing symbols into the air + - reconfigures its form with clicking sounds + - projects a holographic star map + - emits a resonant chime that shakes the walls +name: ancient construct diff --git a/data/mobs/examples/bandit.yaml b/data/mobs/examples/bandit.yaml index a3fd3e7..8e4c4b0 100644 --- a/data/mobs/examples/bandit.yaml +++ b/data/mobs/examples/bandit.yaml @@ -1,47 +1,49 @@ -name: bandit -description: "A scrappy outlaw with a cybernetic arm and patched armor. He eyes you with predatory intent." -idle_descriptions: - - "scans the horizon for targets" - - "wipes a blade on his sleeve" - - "spits on the ground" - - "adjusts a cybernetic knuckle" -drops: - remains: bones - loot: - - item_id: credits - weight: 70 - quantity: 30 - - item_id: credits - weight: 20 - quantity: 80 - - table: herb_table_low - weight: 10 combat: - kind: combat - stats: - hp: 28 - attack: 10 - strength: 12 - defense: 12 - attack_type: stab - speed: 5 aggressive: true + attack_types: + - stab + combat_descriptions: + - slashes at %s with a serrated blade + - delivers a crushing punch with a cybernetic fist + - lunges at %s with a battle cry + kind: combat respawn_ticks: 30 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - size: medium - combat_descriptions: - - "slashes at %s with a serrated blade" - - "delivers a crushing punch with a cybernetic fist" - - "lunges at %s with a battle cry" + size: medium + stats: + attack: 10 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 12 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 28 + max_melee_hit: 2 + speed: 5 + strength: 12 +description: A scrappy outlaw with a cybernetic arm and patched armor. He eyes you with predatory intent. +drops: + loot: + - item_id: credits + quantity: 30 + weight: 70 + - item_id: credits + quantity: 80 + weight: 20 + - table: herb_table_low + weight: 10 + remains: bones +idle_descriptions: + - scans the horizon for targets + - wipes a blade on his sleeve + - spits on the ground + - adjusts a cybernetic knuckle +name: bandit diff --git a/data/mobs/examples/bioengineer.yaml b/data/mobs/examples/bioengineer.yaml index d6c9193..6a7a74a 100644 --- a/data/mobs/examples/bioengineer.yaml +++ b/data/mobs/examples/bioengineer.yaml @@ -1,56 +1,58 @@ -name: Bioengineer -description: "A lab-coated scientist carrying a satchel of genetically modified seeds. Her pockets are stuffed with rare specimens." -idle_descriptions: - - "scribbles notes on a clipboard" - - "carefully inspects a vial of green liquid" - - "adjusts her safety goggles" - - "mutters about gene splicing yields" -steal: - table: bioengineer_steal - level: 38 - xp: 45 - speed: 4 -drops: - remains: "bones" - loot: - - item_id: "sweetcorn_seed" - weight: 30 - quantity: 2 - - item_id: "strawberry_seed" - weight: 25 - quantity: 1 - - item_id: "watermelon_seed" - weight: 15 - quantity: 1 - - item_id: "ranarr_seed" - weight: 5 - quantity: 1 combat: - kind: combat - stats: - hp: 25 - attack: 6 - strength: 4 - defense: 5 - attack_type: crush - speed: 5 aggressive: false + attack_types: + - crush + combat_descriptions: + - jabs a syringe at %s + - is being overpowered by %s + - fights desperately against %s + kind: combat respawn_ticks: 50 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - size: small - combat_descriptions: - - "jabs a syringe at %s" - - "is being overpowered by %s" - - "fights desperately against %s" + size: small + stats: + attack: 6 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 5 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 25 + max_melee_hit: 1 + speed: 5 + strength: 4 +description: A lab-coated scientist carrying a satchel of genetically modified seeds. Her pockets are stuffed with rare specimens. +drops: + loot: + - item_id: sweetcorn_seed + quantity: 2 + weight: 30 + - item_id: strawberry_seed + quantity: 1 + weight: 25 + - item_id: watermelon_seed + quantity: 1 + weight: 15 + - item_id: ranarr_seed + quantity: 1 + weight: 5 + remains: bones +idle_descriptions: + - scribbles notes on a clipboard + - carefully inspects a vial of green liquid + - adjusts her safety goggles + - mutters about gene splicing yields +name: Bioengineer +steal: + level: 38 + speed: 4 + table: bioengineer_steal + xp: 45 diff --git a/data/mobs/examples/corrupted_scientist.yaml b/data/mobs/examples/corrupted_scientist.yaml index aeda04d..3757932 100644 --- a/data/mobs/examples/corrupted_scientist.yaml +++ b/data/mobs/examples/corrupted_scientist.yaml @@ -1,52 +1,57 @@ -name: corrupted scientist -description: "A researcher whose mind was consumed by their own experiments. Energy crackles around their fingertips and their lab coat is singed and tattered." -idle_descriptions: - - "mutters incomprehensible formulas" - - "energy arcs between their fingers" - - "scribbles equations on the wall in soot" - - "stares at their own hands in horror" -drops: - remains: bones - loot: - - item_id: credits - weight: 50 - quantity: 150 - - item_id: solarjunk - weight: 20 - quantity: 2 - - item_id: hydrojunk - weight: 15 - quantity: 2 - - table: herb_table_mid - weight: 15 combat: - kind: combat - stats: - hp: 40 - attack: 1 - strength: 1 - defense: 18 - science: 50 - attack_type: science - speed: 5 aggressive: true + attack_types: + - crush + - science + combat_descriptions: + - blasts %s with a burst of unstable energy + - unleashes a wave of chaotic force at %s + - channels raw power through their hands at %s + kind: combat respawn_ticks: 45 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 25 - slash_defense: 25 - crush_defense: 20 - science_defense: 35 - ranged_defense: -5 - weakness: eco - size: medium - combat_descriptions: - - "blasts %s with a burst of unstable energy" - - "unleashes a wave of chaotic force at %s" - - "channels raw power through their hands at %s" + size: medium + stats: + attack: 25 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 18 + defenses: + crush_defense: 20 + ranged_defense: -5 + science_defense: 35 + slash_defense: 25 + stab_defense: 25 + weakness: eco + weakness_percent: 50 + hp: 40 + max_melee_hit: 6 + max_science_hit: 10 + science: 50 + speed: 5 + strength: 25 +description: A researcher whose mind was consumed by their own experiments. Energy crackles around their fingertips and their lab coat is singed and tattered. +drops: + loot: + - item_id: credits + quantity: 150 + weight: 50 + - item_id: solarjunk + quantity: 2 + weight: 20 + - item_id: hydrojunk + quantity: 2 + weight: 15 + - table: herb_table_mid + weight: 15 + remains: bones +idle_descriptions: + - mutters incomprehensible formulas + - energy arcs between their fingers + - scribbles equations on the wall in soot + - stares at their own hands in horror +name: corrupted scientist diff --git a/data/mobs/examples/cow.yaml b/data/mobs/examples/cow.yaml index 2171d12..06556f4 100644 --- a/data/mobs/examples/cow.yaml +++ b/data/mobs/examples/cow.yaml @@ -1,39 +1,41 @@ -name: cow -description: "A placid dairy cow, chewing cud." -idle_descriptions: - - "moos softly" - - "chews on some grass" - - "swishes its tail lazily" - - "stares at you with big brown eyes" -drops: - remains: bones - loot: - - item_id: cowhide - weight: 100 - - item_id: raw_beef - weight: 100 combat: - kind: combat - stats: - hp: 8 - attack: 1 - strength: 1 - defense: 1 - attack_type: crush - speed: 5 aggressive: false + attack_types: + - crush + kind: combat respawn_ticks: 30 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 1 - slash_defense: 1 - crush_defense: 1 - science_defense: 0 - ranged_defense: 0 - size: large + size: large + stats: + attack: 1 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 1 + defenses: + crush_defense: 1 + ranged_defense: 0 + science_defense: 0 + slash_defense: 1 + stab_defense: 1 + hp: 8 + max_melee_hit: 1 + speed: 5 + strength: 1 +description: A placid dairy cow, chewing cud. +drops: + loot: + - item_id: cowhide + weight: 100 + - item_id: raw_beef + weight: 100 + remains: bones +idle_descriptions: + - moos softly + - chews on some grass + - swishes its tail lazily + - stares at you with big brown eyes +name: cow diff --git a/data/mobs/examples/crawler.yaml b/data/mobs/examples/crawler.yaml index 55d8f6f..53a149a 100644 --- a/data/mobs/examples/crawler.yaml +++ b/data/mobs/examples/crawler.yaml @@ -1,49 +1,51 @@ -name: crawler -description: "A heavily armored bio-mechanical creature with a chitinous exoskeleton. Its regenerative biology prevents death unless dissolved with acid." -idle_descriptions: - - "scrapes its mandibles together menacingly" - - "clicks and chitters in an alien rhythm" - - "tests the air with feathered antennae" - - "coils its segmented body defensively" -drops: - remains: chitin_plate - loot: - - item_id: credits - weight: 70 - quantity: 250 - - item_id: acid_vial - weight: 10 - - item_id: credits - weight: 20 - quantity: 500 combat: - kind: combat - stats: - hp: 80 - attack: 25 - strength: 22 - defense: 30 - attack_type: crush - speed: 5 aggressive: false + assassin_level: 30 + attack_types: + - crush + combat_descriptions: + - snaps its mandibles at %s + - lashes out with a barbed tail at %s + - charges headlong into %s + finishing_blow: acid_vial + kind: combat respawn_ticks: 45 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - assassin_level: 30 - finishing_blow: acid_vial - size: large - combat_descriptions: - - "snaps its mandibles at %s" - - "lashes out with a barbed tail at %s" - - "charges headlong into %s" + size: large + stats: + attack: 25 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 30 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 80 + max_melee_hit: 3 + speed: 5 + strength: 22 +description: A heavily armored bio-mechanical creature with a chitinous exoskeleton. Its regenerative biology prevents death unless dissolved with acid. +drops: + loot: + - item_id: credits + quantity: 250 + weight: 70 + - item_id: acid_vial + weight: 10 + - item_id: credits + quantity: 500 + weight: 20 + remains: chitin_plate +idle_descriptions: + - scrapes its mandibles together menacingly + - clicks and chitters in an alien rhythm + - tests the air with feathered antennae + - coils its segmented body defensively +name: crawler diff --git a/data/mobs/examples/drone.yaml b/data/mobs/examples/drone.yaml index 08091f5..30b1bcd 100644 --- a/data/mobs/examples/drone.yaml +++ b/data/mobs/examples/drone.yaml @@ -1,49 +1,51 @@ -name: drone -description: "A malfunctioning security drone crackling with electrical discharge. Its attacks are especially dangerous to anyone not wearing insulated gloves." -idle_descriptions: - - "hovers erratically, sparking" - - "emits a high-pitched whine" - - "scans the area with a flickering red beam" - - "rotates its weapon array with a mechanical click" -drops: - remains: circuit_board - loot: - - item_id: credits - weight: 80 - quantity: 75 - - item_id: insulated_gloves - weight: 5 - - item_id: credits - weight: 15 - quantity: 200 combat: - kind: combat - stats: - hp: 45 - attack: 15 - strength: 14 - defense: 12 - attack_type: crush - speed: 4 aggressive: true + assassin_level: 15 + attack_types: + - crush + combat_descriptions: + - fires an electrical bolt at %s + - charges its capacitors and zaps %s + - swoops down on %s with crackling energy + damage_without: insulated_gloves + kind: combat respawn_ticks: 35 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - assassin_level: 15 - damage_without: insulated_gloves - size: small - combat_descriptions: - - "fires an electrical bolt at %s" - - "charges its capacitors and zaps %s" - - "swoops down on %s with crackling energy" + size: small + stats: + attack: 15 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 12 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 45 + max_melee_hit: 2 + speed: 4 + strength: 14 +description: A malfunctioning security drone crackling with electrical discharge. Its attacks are especially dangerous to anyone not wearing insulated gloves. +drops: + loot: + - item_id: credits + quantity: 75 + weight: 80 + - item_id: insulated_gloves + weight: 5 + - item_id: credits + quantity: 200 + weight: 15 + remains: circuit_board +idle_descriptions: + - hovers erratically, sparking + - emits a high-pitched whine + - scans the area with a flickering red beam + - rotates its weapon array with a mechanical click +name: drone diff --git a/data/mobs/examples/elite_synth.yaml b/data/mobs/examples/elite_synth.yaml index 9628572..4bf7638 100644 --- a/data/mobs/examples/elite_synth.yaml +++ b/data/mobs/examples/elite_synth.yaml @@ -1,52 +1,57 @@ -name: elite synth -description: "A sleek combat android with glowing blue optics and a compact energy weapon. Its chassis is polished alloy and its movements are disturbingly fluid." -idle_descriptions: - - "calibrates targeting sensors with a soft chime" - - "projects a holographic tactical display" - - "emits a binary chirp" - - "reconfigures its weapon array silently" -drops: - remains: circuit_board - loot: - - item_id: credits - weight: 50 - quantity: 1500 - - item_id: biojunk - weight: 20 - quantity: 3 - - item_id: naturejunk - weight: 15 - quantity: 3 - - table: gem_table - weight: 15 combat: - kind: combat - stats: - hp: 104 - attack: 1 - strength: 1 - defense: 38 - science: 65 - attack_type: science - speed: 4 aggressive: true + attack_types: + - slash + - science + combat_descriptions: + - unleashes a coherent energy beam at %s + - fires a pulse of disruptor energy at %s + - overloads its emitters and blasts %s + kind: combat respawn_ticks: 75 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 45 - slash_defense: 45 - crush_defense: 40 - science_defense: 55 - ranged_defense: -15 - weakness: chaos - size: medium - combat_descriptions: - - "unleashes a coherent energy beam at %s" - - "fires a pulse of disruptor energy at %s" - - "overloads its emitters and blasts %s" + size: medium + stats: + attack: 45 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 38 + defenses: + crush_defense: 40 + ranged_defense: -15 + science_defense: 55 + slash_defense: 45 + stab_defense: 45 + weakness: chaos + weakness_percent: 50 + hp: 104 + max_melee_hit: 9 + max_science_hit: 12 + science: 65 + speed: 4 + strength: 45 +description: A sleek combat android with glowing blue optics and a compact energy weapon. Its chassis is polished alloy and its movements are disturbingly fluid. +drops: + loot: + - item_id: credits + quantity: 1500 + weight: 50 + - item_id: biojunk + quantity: 3 + weight: 20 + - item_id: naturejunk + quantity: 3 + weight: 15 + - table: gem_table + weight: 15 + remains: circuit_board +idle_descriptions: + - calibrates targeting sensors with a soft chime + - projects a holographic tactical display + - emits a binary chirp + - reconfigures its weapon array silently +name: elite synth diff --git a/data/mobs/examples/enforcer_bot.yaml b/data/mobs/examples/enforcer_bot.yaml index efdd698..7ba5ac0 100644 --- a/data/mobs/examples/enforcer_bot.yaml +++ b/data/mobs/examples/enforcer_bot.yaml @@ -1,51 +1,54 @@ -name: enforcer bot -description: "A heavy riot control automaton with impact shields and a shock baton. It moves with deliberate, crushing steps." -idle_descriptions: - - "patrols the area with heavy footsteps" - - "deploys its riot shield with a hiss" - - "announces a warning in garbled speech" - - "tests its shock baton against a wall" -drops: - remains: scrap - loot: - - item_id: credits - weight: 60 - quantity: 350 - - item_id: scrap - weight: 20 - quantity: 5 - - item_id: credits - weight: 15 - quantity: 800 - - table: gem_table - weight: 5 combat: - kind: combat - stats: - hp: 70 - attack: 30 - strength: 35 - defense: 32 - attack_type: crush - speed: 5 aggressive: true + attack_types: + - crush + combat_descriptions: + - smashes %s with a shock baton + - slams its riot shield into %s + - delivers a stunning blow to %s + kind: combat respawn_ticks: 55 - bonuses: - attack_bonus: 25 - strength_bonus: 25 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 40 - slash_defense: 40 - crush_defense: 50 - science_defense: -15 - ranged_defense: 30 - weakness: solar - size: large - combat_descriptions: - - "smashes %s with a shock baton" - - "slams its riot shield into %s" - - "delivers a stunning blow to %s" + size: large + stats: + attack: 30 + bonuses: + attack_bonus: 25 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 25 + defense: 32 + defenses: + crush_defense: 50 + ranged_defense: 30 + science_defense: -15 + slash_defense: 40 + stab_defense: 40 + weakness: solar + weakness_percent: 50 + hp: 70 + max_melee_hit: 6 + speed: 5 + strength: 35 +description: A heavy riot control automaton with impact shields and a shock baton. It moves with deliberate, crushing steps. +drops: + loot: + - item_id: credits + quantity: 350 + weight: 60 + - item_id: scrap + quantity: 5 + weight: 20 + - item_id: credits + quantity: 800 + weight: 15 + - table: gem_table + weight: 5 + remains: scrap +idle_descriptions: + - patrols the area with heavy footsteps + - deploys its riot shield with a hiss + - announces a warning in garbled speech + - tests its shock baton against a wall +name: enforcer bot diff --git a/data/mobs/examples/farmer.yaml b/data/mobs/examples/farmer.yaml index 8e72ac2..a5f5e3d 100644 --- a/data/mobs/examples/farmer.yaml +++ b/data/mobs/examples/farmer.yaml @@ -1,56 +1,58 @@ -name: Farmer -description: "A weathered farmer in muddy overalls, pockets bulging with seeds." -idle_descriptions: - - "examines a handful of seeds" - - "wipes dirt from his hands" - - "mutters about the growing season" - - "adjusts his wide-brimmed hat" -steal: - table: farmer_steal - level: 10 - xp: 15 - speed: 4 -drops: - remains: "bones" - loot: - - item_id: "potato_seed" - weight: 40 - quantity: 3 - - item_id: "onion_seed" - weight: 30 - quantity: 2 - - item_id: "cabbage_seed" - weight: 20 - quantity: 2 - - item_id: "tomato_seed" - weight: 10 - quantity: 1 combat: - kind: combat - stats: - hp: 15 - attack: 3 - strength: 3 - defense: 3 - attack_type: crush - speed: 5 aggressive: false + attack_types: + - crush + combat_descriptions: + - swings a shovel at %s + - is getting beaten by %s + - grapples with %s + kind: combat respawn_ticks: 40 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - size: small - combat_descriptions: - - "swings a shovel at %s" - - "is getting beaten by %s" - - "grapples with %s" + size: small + stats: + attack: 3 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 3 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 15 + max_melee_hit: 1 + speed: 5 + strength: 3 +description: A weathered farmer in muddy overalls, pockets bulging with seeds. +drops: + loot: + - item_id: potato_seed + quantity: 3 + weight: 40 + - item_id: onion_seed + quantity: 2 + weight: 30 + - item_id: cabbage_seed + quantity: 2 + weight: 20 + - item_id: tomato_seed + quantity: 1 + weight: 10 + remains: bones +idle_descriptions: + - examines a handful of seeds + - wipes dirt from his hands + - mutters about the growing season + - adjusts his wide-brimmed hat +name: Farmer +steal: + level: 10 + speed: 4 + table: farmer_steal + xp: 15 diff --git a/data/mobs/examples/feral_cyborg.yaml b/data/mobs/examples/feral_cyborg.yaml index e5edf3d..8aa0969 100644 --- a/data/mobs/examples/feral_cyborg.yaml +++ b/data/mobs/examples/feral_cyborg.yaml @@ -1,47 +1,49 @@ -name: feral cyborg -description: "A heavily augmented human whose implants have driven them to madness. Razor-sharp blades extend from their forearms and their optical implant glows red." -idle_descriptions: - - "paces back and forth, muttering" - - "retracts and extends forearm blades" - - "emits a distorted laugh" - - "scratches at their own cybernetics" -drops: - remains: bones - loot: - - item_id: credits - weight: 60 - quantity: 300 - - item_id: scrap - weight: 25 - quantity: 3 - - table: herb_table_mid - weight: 15 combat: - kind: combat - stats: - hp: 82 - attack: 34 - strength: 36 - defense: 32 - attack_type: slash - speed: 4 aggressive: true + attack_types: + - slash + combat_descriptions: + - slashes %s with forearm blades + - delivers a powered kick to %s + - grapples %s with augmented strength + kind: combat respawn_ticks: 50 - bonuses: - attack_bonus: 30 - strength_bonus: 28 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 35 - slash_defense: 45 - crush_defense: 30 - science_defense: -10 - ranged_defense: 35 - size: medium - combat_descriptions: - - "slashes %s with forearm blades" - - "delivers a powered kick to %s" - - "grapples %s with augmented strength" + size: medium + stats: + attack: 34 + bonuses: + attack_bonus: 30 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 28 + defense: 32 + defenses: + crush_defense: 30 + ranged_defense: 35 + science_defense: -10 + slash_defense: 45 + stab_defense: 35 + hp: 82 + max_melee_hit: 6 + speed: 4 + strength: 36 +description: A heavily augmented human whose implants have driven them to madness. Razor-sharp blades extend from their forearms and their optical implant glows red. +drops: + loot: + - item_id: credits + quantity: 300 + weight: 60 + - item_id: scrap + quantity: 3 + weight: 25 + - table: herb_table_mid + weight: 15 + remains: bones +idle_descriptions: + - paces back and forth, muttering + - retracts and extends forearm blades + - emits a distorted laugh + - scratches at their own cybernetics +name: feral cyborg diff --git a/data/mobs/examples/ghoul.yaml b/data/mobs/examples/ghoul.yaml index 070d6f1..49be88f 100644 --- a/data/mobs/examples/ghoul.yaml +++ b/data/mobs/examples/ghoul.yaml @@ -1,47 +1,50 @@ -name: ghoul -description: "A radiation-scarred crew member, barely recognizable as human. Its flesh glows faintly and its eyes are hollow sockets." -idle_descriptions: - - "shambles aimlessly and moans" - - "scratches at the walls leaving glowing marks" - - "stares blankly into the darkness" - - "emits a low, rattling groan" -drops: - remains: bones - loot: - - item_id: credits - weight: 60 - quantity: 80 - - item_id: scrap - weight: 25 - - table: herb_table_low - weight: 15 combat: - kind: combat - stats: - hp: 54 - attack: 22 - strength: 22 - defense: 20 - attack_type: crush - speed: 4 aggressive: true + attack_types: + - crush + combat_descriptions: + - claws at %s with irradiated hands + - lunges at %s with a gurgling shriek + - bites %s with decaying teeth + kind: combat respawn_ticks: 35 - bonuses: - attack_bonus: 15 - strength_bonus: 12 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 20 - slash_defense: 25 - crush_defense: 15 - science_defense: -5 - ranged_defense: 20 - weakness: hydro - size: medium - combat_descriptions: - - "claws at %s with irradiated hands" - - "lunges at %s with a gurgling shriek" - - "bites %s with decaying teeth" + size: medium + stats: + attack: 22 + bonuses: + attack_bonus: 15 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 12 + defense: 20 + defenses: + crush_defense: 15 + ranged_defense: 20 + science_defense: -5 + slash_defense: 25 + stab_defense: 20 + weakness: hydro + weakness_percent: 50 + hp: 54 + max_melee_hit: 4 + speed: 4 + strength: 22 +description: A radiation-scarred crew member, barely recognizable as human. Its flesh glows faintly and its eyes are hollow sockets. +drops: + loot: + - item_id: credits + quantity: 80 + weight: 60 + - item_id: scrap + weight: 25 + - table: herb_table_low + weight: 15 + remains: bones +idle_descriptions: + - shambles aimlessly and moans + - scratches at the walls leaving glowing marks + - stares blankly into the darkness + - emits a low, rattling groan +name: ghoul diff --git a/data/mobs/examples/goblin.yaml b/data/mobs/examples/goblin.yaml index 23a5f77..649c896 100644 --- a/data/mobs/examples/goblin.yaml +++ b/data/mobs/examples/goblin.yaml @@ -1,41 +1,43 @@ -name: goblin -description: "A small green-skinned goblin with a rusty blade." -idle_descriptions: - - "mutters something unintelligible" - - "waves a rusty blade around" - - "picks its nose" - - "kicks a pebble" -drops: - remains: bones - loot: - - item_id: credits - weight: 80 - quantity: 5 - - item_id: credits - weight: 20 - quantity: 25 combat: - kind: combat - stats: - hp: 12 - attack: 1 - strength: 3 - defense: 3 - attack_type: slash - speed: 5 aggressive: true + attack_types: + - slash + kind: combat respawn_ticks: 25 - bonuses: - attack_bonus: 3 - strength_bonus: 2 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 4 - slash_defense: 3 - crush_defense: -2 - science_defense: 0 - ranged_defense: 3 - size: small + size: small + stats: + attack: 1 + bonuses: + attack_bonus: 3 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 2 + defense: 3 + defenses: + crush_defense: -2 + ranged_defense: 3 + science_defense: 0 + slash_defense: 3 + stab_defense: 4 + hp: 12 + max_melee_hit: 1 + speed: 5 + strength: 3 +description: A small green-skinned goblin with a rusty blade. +drops: + loot: + - item_id: credits + quantity: 5 + weight: 80 + - item_id: credits + quantity: 25 + weight: 20 + remains: bones +idle_descriptions: + - mutters something unintelligible + - waves a rusty blade around + - picks its nose + - kicks a pebble +name: goblin diff --git a/data/mobs/examples/greater_drone.yaml b/data/mobs/examples/greater_drone.yaml index 93993ea..08ecd33 100644 --- a/data/mobs/examples/greater_drone.yaml +++ b/data/mobs/examples/greater_drone.yaml @@ -1,41 +1,45 @@ -name: greater drone -description: "A large, heavily armored drone with multiple energy emitters. Red warning lights pulse along its hull." -idle_descriptions: - - "projects a defensive energy shield" - - "recalibrates its targeting array" - - "emits a warning klaxon" - - "deploys sensor probes" -drops: - loot: - - item_id: scrap - weight: 40 - quantity: 3 - - item_id: credits - weight: 60 - quantity: 1500 combat: - kind: combat - stats: - hp: 120 - attack: 1 - strength: 1 - defense: 30 - science: 40 - attack_type: science - speed: 4 aggressive: true + attack_types: + - crush + - science + kind: combat respawn_ticks: 80 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 55 - slash_defense: 55 - crush_defense: 50 - science_defense: 40 - ranged_defense: -20 - size: medium + size: medium + stats: + attack: 30 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 30 + defenses: + crush_defense: 50 + ranged_defense: -20 + science_defense: 40 + slash_defense: 55 + stab_defense: 55 + hp: 120 + max_melee_hit: 6 + max_science_hit: 8 + science: 40 + speed: 4 + strength: 30 +description: A large, heavily armored drone with multiple energy emitters. Red warning lights pulse along its hull. +drops: + loot: + - item_id: scrap + quantity: 3 + weight: 40 + - item_id: credits + quantity: 1500 + weight: 60 +idle_descriptions: + - projects a defensive energy shield + - recalibrates its targeting array + - emits a warning klaxon + - deploys sensor probes +name: greater drone diff --git a/data/mobs/examples/heavy_mech.yaml b/data/mobs/examples/heavy_mech.yaml index 669c444..afb5c2e 100644 --- a/data/mobs/examples/heavy_mech.yaml +++ b/data/mobs/examples/heavy_mech.yaml @@ -1,51 +1,54 @@ -name: heavy mech -description: "A lumbering assault mech with layered armor plating and a rotary cannon arm. Steam vents from its exhaust ports with each step." -idle_descriptions: - - "scans the room with a blue optical beam" - - "vents a cloud of steam" - - "rotates its cannon with a mechanical whine" - - "announces a threat level assessment" -drops: - remains: scrap - loot: - - item_id: credits - weight: 55 - quantity: 1000 - - item_id: scrap - weight: 25 - quantity: 8 - - table: gem_table - weight: 10 - - item_id: lawjunk - weight: 10 - quantity: 2 combat: - kind: combat - stats: - hp: 94 - attack: 40 - strength: 44 - defense: 44 - attack_type: crush - speed: 5 aggressive: true + attack_types: + - crush + combat_descriptions: + - fires its rotary cannon at %s + - smashes %s with a hydraulic fist + - unleashes a missile salvo at %s + kind: combat respawn_ticks: 70 - bonuses: - attack_bonus: 35 - strength_bonus: 35 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 55 - slash_defense: 55 - crush_defense: 65 - science_defense: -25 - ranged_defense: 40 - weakness: solar - size: massive - combat_descriptions: - - "fires its rotary cannon at %s" - - "smashes %s with a hydraulic fist" - - "unleashes a missile salvo at %s" + size: massive + stats: + attack: 40 + bonuses: + attack_bonus: 35 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 35 + defense: 44 + defenses: + crush_defense: 65 + ranged_defense: 40 + science_defense: -25 + slash_defense: 55 + stab_defense: 55 + weakness: solar + weakness_percent: 50 + hp: 94 + max_melee_hit: 8 + speed: 5 + strength: 44 +description: A lumbering assault mech with layered armor plating and a rotary cannon arm. Steam vents from its exhaust ports with each step. +drops: + loot: + - item_id: credits + quantity: 1000 + weight: 55 + - item_id: scrap + quantity: 8 + weight: 25 + - table: gem_table + weight: 10 + - item_id: lawjunk + quantity: 2 + weight: 10 + remains: scrap +idle_descriptions: + - scans the room with a blue optical beam + - vents a cloud of steam + - rotates its cannon with a mechanical whine + - announces a threat level assessment +name: heavy mech diff --git a/data/mobs/examples/iron_sentinel.yaml b/data/mobs/examples/iron_sentinel.yaml index 48b2dbe..9628db1 100644 --- a/data/mobs/examples/iron_sentinel.yaml +++ b/data/mobs/examples/iron_sentinel.yaml @@ -1,40 +1,42 @@ -name: iron sentinel -description: "A massive bipedal automaton forged from pre-regression alloys. Its joints grind with each deliberate step." -idle_descriptions: - - "stands motionless, servos whining softly" - - "turns its armored head with a mechanical grind" - - "vents steam from exhaust ports" - - "scans the area with a red optical sensor" -drops: - loot: - - item_id: scrap - weight: 30 - quantity: 5 - - item_id: credits - weight: 60 - quantity: 5000 combat: - kind: combat - stats: - hp: 180 - attack: 25 - strength: 30 - defense: 45 - attack_type: crush - speed: 6 aggressive: true + attack_types: + - crush + kind: combat respawn_ticks: 100 - bonuses: - attack_bonus: 40 - strength_bonus: 35 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 80 - slash_defense: 80 - crush_defense: 70 - science_defense: -30 - ranged_defense: 50 - size: large + size: large + stats: + attack: 25 + bonuses: + attack_bonus: 40 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 35 + defense: 45 + defenses: + crush_defense: 70 + ranged_defense: 50 + science_defense: -30 + slash_defense: 80 + stab_defense: 80 + hp: 180 + max_melee_hit: 6 + speed: 6 + strength: 30 +description: A massive bipedal automaton forged from pre-regression alloys. Its joints grind with each deliberate step. +drops: + loot: + - item_id: scrap + quantity: 5 + weight: 30 + - item_id: credits + quantity: 5000 + weight: 60 +idle_descriptions: + - stands motionless, servos whining softly + - turns its armored head with a mechanical grind + - vents steam from exhaust ports + - scans the area with a red optical sensor +name: iron sentinel diff --git a/data/mobs/examples/lesser_drone.yaml b/data/mobs/examples/lesser_drone.yaml index d9c452d..dd84ba3 100644 --- a/data/mobs/examples/lesser_drone.yaml +++ b/data/mobs/examples/lesser_drone.yaml @@ -1,40 +1,44 @@ -name: lesser drone -description: "A floating metallic drone with a pulsing energy core. Its surface crackles with electric discharge." -idle_descriptions: - - "hovers silently, scanning the area" - - "emits a low electronic hum" - - "projects a thin beam of light across the floor" - - "rotates slowly in place" -drops: - loot: - - item_id: scrap - weight: 60 - - item_id: credits - weight: 40 - quantity: 300 combat: - kind: combat - stats: - hp: 55 - attack: 1 - strength: 1 - defense: 18 - science: 20 - attack_type: science - speed: 4 aggressive: true + attack_types: + - crush + - science + kind: combat respawn_ticks: 50 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 35 - slash_defense: 35 - crush_defense: 30 - science_defense: 20 - ranged_defense: -10 - size: small + size: small + stats: + attack: 15 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 18 + defenses: + crush_defense: 30 + ranged_defense: -10 + science_defense: 20 + slash_defense: 35 + stab_defense: 35 + hp: 55 + max_melee_hit: 4 + max_science_hit: 6 + science: 20 + speed: 4 + strength: 15 +description: A floating metallic drone with a pulsing energy core. Its surface crackles with electric discharge. +drops: + loot: + - item_id: scrap + weight: 60 + - item_id: credits + quantity: 300 + weight: 40 +idle_descriptions: + - hovers silently, scanning the area + - emits a low electronic hum + - projects a thin beam of light across the floor + - rotates slowly in place +name: lesser drone diff --git a/data/mobs/examples/man.yaml b/data/mobs/examples/man.yaml index ec3624c..1ffa746 100644 --- a/data/mobs/examples/man.yaml +++ b/data/mobs/examples/man.yaml @@ -1,60 +1,62 @@ -name: man -description: "A shabby-looking man loitering in the town square." -idle_descriptions: - - "scribbles something in a small notebook" - - "gazes skyward at the clouds" - - "leans against a wall, looking bored" - - "scratches his head thoughtfully" - - "stares off into the distance" - - "adjusts his tunic and stretches" -steal: - table: man_steal - level: 1 - xp: 8 - speed: 4 -drops: - remains: "bones" - loot: - - item_id: "credits" - weight: 98 - quantity: 10 - - item_id: "credits" - weight: 2 - quantity: 150 - - item_id: "grimy_guam" - weight: 8 - - item_id: "grimy_marrentill" - weight: 4 - - item_id: "grimy_tarromin" - weight: 2 combat: - kind: combat - stats: - hp: 7 - attack: 1 - strength: 1 - defense: 1 - attack_type: crush - speed: 5 aggressive: false + attack_types: + - crush + combat_descriptions: + - is engaged in a fight to the death with %s + - is getting pummelled by %s + - is locked in combat with %s + - trades blows with %s + - circles warily around %s + kind: combat respawn_ticks: 30 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - crush_defense: 0 - ranged_defense: 0 - science_defense: 0 - slash_defense: 0 - stab_defense: 0 - size: small - combat_descriptions: - - "is engaged in a fight to the death with %s" - - "is getting pummelled by %s" - - "is locked in combat with %s" - - "trades blows with %s" - - "circles warily around %s" + size: small + stats: + attack: 1 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 1 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 7 + max_melee_hit: 1 + speed: 5 + strength: 1 +description: A shabby-looking man loitering in the town square. +drops: + loot: + - item_id: credits + quantity: 10 + weight: 98 + - item_id: credits + quantity: 150 + weight: 2 + - item_id: grimy_guam + weight: 8 + - item_id: grimy_marrentill + weight: 4 + - item_id: grimy_tarromin + weight: 2 + remains: bones +idle_descriptions: + - scribbles something in a small notebook + - gazes skyward at the clouds + - leans against a wall, looking bored + - scratches his head thoughtfully + - stares off into the distance + - adjusts his tunic and stretches +name: man +steal: + level: 1 + speed: 4 + table: man_steal + xp: 8 diff --git a/data/mobs/examples/molten_elemental.yaml b/data/mobs/examples/molten_elemental.yaml index 3c9b023..9c16f54 100644 --- a/data/mobs/examples/molten_elemental.yaml +++ b/data/mobs/examples/molten_elemental.yaml @@ -1,51 +1,54 @@ -name: molten elemental -description: "A flowing mass of liquid metal and superheated slag, roughly humanoid. The air around it shimmers with heat and droplets of molten alloy drip to the floor." -idle_descriptions: - - "bubbles and churns, throwing off sparks" - - "melts a nearby chunk of metal absent-mindedly" - - "pulses with an inner orange glow" - - "drips glowing droplets onto the floor" -drops: - remains: scrap - loot: - - item_id: credits - weight: 50 - quantity: 2000 - - item_id: biojunk - weight: 20 - quantity: 3 - - item_id: bloodjunk - weight: 15 - quantity: 2 - - table: herb_table_high - weight: 15 combat: - kind: combat - stats: - hp: 115 - attack: 48 - strength: 52 - defense: 52 - attack_type: crush - speed: 5 aggressive: true + attack_types: + - crush + combat_descriptions: + - hurls a glob of molten metal at %s + - engulfs %s in a wave of liquid fire + - smashes %s with a superheated limb + kind: combat respawn_ticks: 80 - bonuses: - attack_bonus: 40 - strength_bonus: 42 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 60 - slash_defense: 60 - crush_defense: 70 - science_defense: -30 - ranged_defense: 45 - weakness: hydro - size: large - combat_descriptions: - - "hurls a glob of molten metal at %s" - - "engulfs %s in a wave of liquid fire" - - "smashes %s with a superheated limb" + size: large + stats: + attack: 48 + bonuses: + attack_bonus: 40 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 42 + defense: 52 + defenses: + crush_defense: 70 + ranged_defense: 45 + science_defense: -30 + slash_defense: 60 + stab_defense: 60 + weakness: hydro + weakness_percent: 50 + hp: 115 + max_melee_hit: 10 + speed: 5 + strength: 52 +description: A flowing mass of liquid metal and superheated slag, roughly humanoid. The air around it shimmers with heat and droplets of molten alloy drip to the floor. +drops: + loot: + - item_id: credits + quantity: 2000 + weight: 50 + - item_id: biojunk + quantity: 3 + weight: 20 + - item_id: bloodjunk + quantity: 2 + weight: 15 + - table: herb_table_high + weight: 15 + remains: scrap +idle_descriptions: + - bubbles and churns, throwing off sparks + - melts a nearby chunk of metal absent-mindedly + - pulses with an inner orange glow + - drips glowing droplets onto the floor +name: molten elemental diff --git a/data/mobs/examples/moss_giant.yaml b/data/mobs/examples/moss_giant.yaml index 9b07a37..cff159a 100644 --- a/data/mobs/examples/moss_giant.yaml +++ b/data/mobs/examples/moss_giant.yaml @@ -1,41 +1,43 @@ -name: moss giant -description: "A towering creature covered in moss and vines, its rocky skin dripping with moisture." -idle_descriptions: - - "surveys its territory with dull eyes" - - "pulls a vine from its shoulder" - - "stamps the ground, sending tremors" - - "scratches its mossy hide" -drops: - remains: bones - loot: - - item_id: credits - weight: 50 - quantity: 120 - - item_id: credits - weight: 50 - quantity: 500 combat: - kind: combat - stats: - hp: 60 - attack: 12 - strength: 14 - defense: 10 - attack_type: crush - speed: 7 aggressive: true + attack_types: + - crush + kind: combat respawn_ticks: 45 - bonuses: - attack_bonus: 10 - strength_bonus: 12 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 15 - slash_defense: 12 - crush_defense: 18 - science_defense: -5 - ranged_defense: 15 - size: massive + size: massive + stats: + attack: 12 + bonuses: + attack_bonus: 10 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 12 + defense: 10 + defenses: + crush_defense: 18 + ranged_defense: 15 + science_defense: -5 + slash_defense: 12 + stab_defense: 15 + hp: 60 + max_melee_hit: 3 + speed: 7 + strength: 14 +description: A towering creature covered in moss and vines, its rocky skin dripping with moisture. +drops: + loot: + - item_id: credits + quantity: 120 + weight: 50 + - item_id: credits + quantity: 500 + weight: 50 + remains: bones +idle_descriptions: + - surveys its territory with dull eyes + - pulls a vine from its shoulder + - stamps the ground, sending tremors + - scratches its mossy hide +name: moss giant diff --git a/data/mobs/examples/mutant_rat.yaml b/data/mobs/examples/mutant_rat.yaml index 676b510..233bd50 100644 --- a/data/mobs/examples/mutant_rat.yaml +++ b/data/mobs/examples/mutant_rat.yaml @@ -1,48 +1,51 @@ -name: mutant rat -description: "A bloated rodent with glowing green eyes and exposed muscle tissue. Bio-engineering runoff has made it unnaturally aggressive." -idle_descriptions: - - "scurries frantically in circles" - - "gnaws on a rusted pipe" - - "emits a gurgling screech" - - "twitches unnaturally" -drops: - remains: bones - loot: - - item_id: credits - weight: 60 - quantity: 20 - - item_id: scrap - weight: 30 - - item_id: credits - weight: 10 - quantity: 60 combat: - kind: combat - stats: - hp: 32 - attack: 13 - strength: 13 - defense: 12 - attack_type: crush - speed: 4 aggressive: true + attack_types: + - crush + combat_descriptions: + - bites %s with glowing teeth + - slashes %s with mutated claws + - lunges at %s with unnatural speed + kind: combat respawn_ticks: 25 - bonuses: - attack_bonus: 8 - strength_bonus: 6 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 15 - slash_defense: 15 - crush_defense: 10 - science_defense: -10 - ranged_defense: 5 - weakness: bio - size: small - combat_descriptions: - - "bites %s with glowing teeth" - - "slashes %s with mutated claws" - - "lunges at %s with unnatural speed" + size: small + stats: + attack: 13 + bonuses: + attack_bonus: 8 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 6 + defense: 12 + defenses: + crush_defense: 10 + ranged_defense: 5 + science_defense: -10 + slash_defense: 15 + stab_defense: 15 + weakness: bio + weakness_percent: 50 + hp: 32 + max_melee_hit: 2 + speed: 4 + strength: 13 +description: A bloated rodent with glowing green eyes and exposed muscle tissue. Bio-engineering runoff has made it unnaturally aggressive. +drops: + loot: + - item_id: credits + quantity: 20 + weight: 60 + - item_id: scrap + weight: 30 + - item_id: credits + quantity: 60 + weight: 10 + remains: bones +idle_descriptions: + - scurries frantically in circles + - gnaws on a rusted pipe + - emits a gurgling screech + - twitches unnaturally +name: mutant rat diff --git a/data/mobs/examples/phantom.yaml b/data/mobs/examples/phantom.yaml index fad8167..34ddcdd 100644 --- a/data/mobs/examples/phantom.yaml +++ b/data/mobs/examples/phantom.yaml @@ -1,49 +1,51 @@ -name: phantom -description: "A semi-transparent entity that phases in and out of visible light. Its psychic attacks are devastating to anyone without a spectral visor." -idle_descriptions: - - "flickers between visible and invisible" - - "emits a low, resonant hum" - - "drifts through a wall and back again" - - "stares at you with hollow, glowing eyes" -drops: - remains: ectoplasm - loot: - - item_id: credits - weight: 60 - quantity: 500 - - item_id: spectral_visor - weight: 3 - - item_id: credits - weight: 37 - quantity: 1000 combat: - kind: combat - stats: - hp: 100 - attack: 35 - strength: 30 - defense: 25 - attack_type: crush - speed: 3 aggressive: true + assassin_level: 45 + attack_types: + - crush + combat_descriptions: + - blasts %s with a psychic wave + - phases through %s's defenses + - unleashes a spectral shriek at %s + damage_without: spectral_visor + kind: combat respawn_ticks: 50 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - assassin_level: 45 - damage_without: spectral_visor - size: medium - combat_descriptions: - - "blasts %s with a psychic wave" - - "phases through %s's defenses" - - "unleashes a spectral shriek at %s" + size: medium + stats: + attack: 35 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 25 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 100 + max_melee_hit: 4 + speed: 3 + strength: 30 +description: A semi-transparent entity that phases in and out of visible light. Its psychic attacks are devastating to anyone without a spectral visor. +drops: + loot: + - item_id: credits + quantity: 500 + weight: 60 + - item_id: spectral_visor + weight: 3 + - item_id: credits + quantity: 1000 + weight: 37 + remains: ectoplasm +idle_descriptions: + - flickers between visible and invisible + - emits a low, resonant hum + - drifts through a wall and back again + - stares at you with hollow, glowing eyes +name: phantom diff --git a/data/mobs/examples/plasma_wraith.yaml b/data/mobs/examples/plasma_wraith.yaml index 7241d9a..8fd8c2e 100644 --- a/data/mobs/examples/plasma_wraith.yaml +++ b/data/mobs/examples/plasma_wraith.yaml @@ -1,52 +1,57 @@ -name: plasma wraith -description: "A shimmering entity of contained plasma, vaguely humanoid in shape. It radiates intense heat and hums with barely contained energy." -idle_descriptions: - - "drifts silently, leaving heat shimmer in its wake" - - "pulses with internal light" - - "phases partially through a wall" - - "emits a low frequency hum" -drops: - remains: ectoplasm - loot: - - item_id: credits - weight: 50 - quantity: 400 - - item_id: chaosjunk - weight: 20 - quantity: 2 - - item_id: cosmicjunk - weight: 15 - quantity: 2 - - table: gem_table - weight: 15 combat: - kind: combat - stats: - hp: 56 - attack: 1 - strength: 1 - defense: 22 - science: 65 - attack_type: science - speed: 4 aggressive: true + attack_types: + - crush + - science + combat_descriptions: + - lashes %s with a whip of plasma + - engulfs %s in a superheated cloud + - discharges a concentrated beam at %s + kind: combat respawn_ticks: 60 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 30 - slash_defense: 30 - crush_defense: 25 - science_defense: 45 - ranged_defense: -10 - weakness: hydro - size: medium - combat_descriptions: - - "lashes %s with a whip of plasma" - - "engulfs %s in a superheated cloud" - - "discharges a concentrated beam at %s" + size: medium + stats: + attack: 40 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 22 + defenses: + crush_defense: 25 + ranged_defense: -10 + science_defense: 45 + slash_defense: 30 + stab_defense: 30 + weakness: hydro + weakness_percent: 50 + hp: 56 + max_melee_hit: 8 + max_science_hit: 12 + science: 65 + speed: 4 + strength: 40 +description: A shimmering entity of contained plasma, vaguely humanoid in shape. It radiates intense heat and hums with barely contained energy. +drops: + loot: + - item_id: credits + quantity: 400 + weight: 50 + - item_id: chaosjunk + quantity: 2 + weight: 20 + - item_id: cosmicjunk + quantity: 2 + weight: 15 + - table: gem_table + weight: 15 + remains: ectoplasm +idle_descriptions: + - drifts silently, leaving heat shimmer in its wake + - pulses with internal light + - phases partially through a wall + - emits a low frequency hum +name: plasma wraith diff --git a/data/mobs/examples/psionic_entity.yaml b/data/mobs/examples/psionic_entity.yaml index 1f270e6..9d8351c 100644 --- a/data/mobs/examples/psionic_entity.yaml +++ b/data/mobs/examples/psionic_entity.yaml @@ -1,55 +1,59 @@ -name: psionic entity -description: "A barely visible distortion in the air, only detectable by the pressure it exerts on your mind. When it focuses, you see a shimmering outline of something vast and ancient." -idle_descriptions: - - "probes the edges of your consciousness" - - "flickers between visible and invisible states" - - "emits a subsonic pulse you feel in your teeth" - - "momentarily shows you visions of another dimension" -drops: - remains: ectoplasm - loot: - - item_id: credits - weight: 40 - quantity: 5000 - - item_id: lawjunk - weight: 20 - quantity: 5 - - item_id: cosmicjunk - weight: 15 - quantity: 5 - - table: gem_table - weight: 15 - - item_id: spectral_visor - weight: 5 - - table: herb_table_high - weight: 5 combat: - kind: combat - stats: - hp: 128 - attack: 1 - strength: 1 - defense: 42 - science: 97 - attack_type: science - speed: 4 aggressive: true + attack_types: + - crush + - science + combat_descriptions: + - assaults %s's mind with psionic force + - tears at %s's perception of reality + - unleashes a devastating mental blast at %s + kind: combat respawn_ticks: 100 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 50 - slash_defense: 50 - crush_defense: 45 - science_defense: 70 - ranged_defense: -20 - size: large - combat_descriptions: - - "assaults %s's mind with psionic force" - - "tears at %s's perception of reality" - - "unleashes a devastating mental blast at %s" + size: large + stats: + attack: 50 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 42 + defenses: + crush_defense: 45 + ranged_defense: -20 + science_defense: 70 + slash_defense: 50 + stab_defense: 50 + hp: 128 + max_melee_hit: 10 + max_science_hit: 18 + science: 97 + speed: 4 + strength: 50 +description: A barely visible distortion in the air, only detectable by the pressure it exerts on your mind. When it focuses, you see a shimmering outline of something vast and ancient. +drops: + loot: + - item_id: credits + quantity: 5000 + weight: 40 + - item_id: lawjunk + quantity: 5 + weight: 20 + - item_id: cosmicjunk + quantity: 5 + weight: 15 + - table: gem_table + weight: 15 + - item_id: spectral_visor + weight: 5 + - table: herb_table_high + weight: 5 + remains: ectoplasm +idle_descriptions: + - probes the edges of your consciousness + - flickers between visible and invisible states + - emits a subsonic pulse you feel in your teeth + - momentarily shows you visions of another dimension +name: psionic entity diff --git a/data/mobs/examples/rat.yaml b/data/mobs/examples/rat.yaml index 7a92026..c5b92af 100644 --- a/data/mobs/examples/rat.yaml +++ b/data/mobs/examples/rat.yaml @@ -1,33 +1,35 @@ -name: rat -description: "A large, mangy rat with beady red eyes." -idle_descriptions: - - "sniffs around the ground" - - "nibbles on something" - - "scurries in circles" -drops: - remains: bones combat: - kind: combat - stats: - hp: 2 - attack: 1 - strength: 1 - defense: 1 - attack_type: crush - speed: 4 aggressive: false + attack_types: + - crush + kind: combat respawn_ticks: 20 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - crush_defense: 0 - ranged_defense: 0 - science_defense: 0 - slash_defense: 0 - stab_defense: 0 - size: small + size: small + stats: + attack: 1 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 1 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 2 + max_melee_hit: 1 + speed: 4 + strength: 1 +description: A large, mangy rat with beady red eyes. +drops: + remains: bones +idle_descriptions: + - sniffs around the ground + - nibbles on something + - scurries in circles +name: rat diff --git a/data/mobs/examples/scrap_bot.yaml b/data/mobs/examples/scrap_bot.yaml index 44d92aa..227033b 100644 --- a/data/mobs/examples/scrap_bot.yaml +++ b/data/mobs/examples/scrap_bot.yaml @@ -1,48 +1,50 @@ -name: scrap bot -description: "A malfunctioning maintenance robot that has gone rogue. Its chassis is covered in dents and rust, and one optical sensor flickers erratically." -idle_descriptions: - - "beeps erratically and twitches" - - "bumps into a wall and reverses" - - "emits a burst of static" - - "scans the floor with a flickering beam" -drops: - remains: scrap - loot: - - item_id: credits - weight: 60 - quantity: 40 - - item_id: scrap - weight: 30 - quantity: 2 - - item_id: credits - weight: 10 - quantity: 100 combat: - kind: combat - stats: - hp: 30 - attack: 15 - strength: 15 - defense: 14 - attack_type: crush - speed: 5 aggressive: true + attack_types: + - crush + combat_descriptions: + - rams %s with its chassis + - swings a broken manipulator arm at %s + - discharges a spark at %s + kind: combat respawn_ticks: 30 - bonuses: - attack_bonus: 10 - strength_bonus: 8 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 20 - slash_defense: 15 - crush_defense: 25 - science_defense: -5 - ranged_defense: 10 - size: medium - combat_descriptions: - - "rams %s with its chassis" - - "swings a broken manipulator arm at %s" - - "discharges a spark at %s" + size: medium + stats: + attack: 15 + bonuses: + attack_bonus: 10 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 8 + defense: 14 + defenses: + crush_defense: 25 + ranged_defense: 10 + science_defense: -5 + slash_defense: 15 + stab_defense: 20 + hp: 30 + max_melee_hit: 3 + speed: 5 + strength: 15 +description: A malfunctioning maintenance robot that has gone rogue. Its chassis is covered in dents and rust, and one optical sensor flickers erratically. +drops: + loot: + - item_id: credits + quantity: 40 + weight: 60 + - item_id: scrap + quantity: 2 + weight: 30 + - item_id: credits + quantity: 100 + weight: 10 + remains: scrap +idle_descriptions: + - beeps erratically and twitches + - bumps into a wall and reverses + - emits a burst of static + - scans the floor with a flickering beam +name: scrap bot diff --git a/data/mobs/examples/security_turret.yaml b/data/mobs/examples/security_turret.yaml index 05fce67..0403474 100644 --- a/data/mobs/examples/security_turret.yaml +++ b/data/mobs/examples/security_turret.yaml @@ -1,50 +1,55 @@ -name: security turret -description: "A ceiling-mounted auto-turret with twin barrels and a red targeting laser. It tracks you with mechanical precision." -idle_descriptions: - - "pans the room with a targeting laser" - - "emits a rhythmic clicking sound" - - "calibrates its targeting sensors" - - "beeps a warning tone" -drops: - remains: scrap - loot: - - item_id: credits - weight: 70 - quantity: 100 - - item_id: scrap - weight: 20 - quantity: 3 - - item_id: credits - weight: 10 - quantity: 250 combat: - kind: combat - stats: - hp: 44 - attack: 1 - strength: 1 - defense: 16 - ranged: 34 - attack_type: ranged - speed: 5 aggressive: true + attack_types: + - crush + - ranged + combat_descriptions: + - fires twin bolts at %s + - unleashes a burst of rounds at %s + - locks onto %s and opens fire + kind: combat respawn_ticks: 40 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 30 - slash_defense: 20 - crush_defense: 40 - science_defense: -20 - ranged_defense: 15 - weakness: solar - size: small - combat_descriptions: - - "fires twin bolts at %s" - - "unleashes a burst of rounds at %s" - - "locks onto %s and opens fire" + size: small + stats: + attack: 20 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 16 + defenses: + crush_defense: 40 + ranged_defense: 15 + science_defense: -20 + slash_defense: 20 + stab_defense: 30 + weakness: solar + weakness_percent: 50 + hp: 44 + max_melee_hit: 3 + max_ranged_hit: 4 + ranged: 34 + speed: 5 + strength: 20 +description: A ceiling-mounted auto-turret with twin barrels and a red targeting laser. It tracks you with mechanical precision. +drops: + loot: + - item_id: credits + quantity: 100 + weight: 70 + - item_id: scrap + quantity: 3 + weight: 20 + - item_id: credits + quantity: 250 + weight: 10 + remains: scrap +idle_descriptions: + - pans the room with a targeting laser + - emits a rhythmic clicking sound + - calibrates its targeting sensors + - beeps a warning tone +name: security turret diff --git a/data/mobs/examples/skeleton.yaml b/data/mobs/examples/skeleton.yaml index 2431215..f1d9ed5 100644 --- a/data/mobs/examples/skeleton.yaml +++ b/data/mobs/examples/skeleton.yaml @@ -1,40 +1,42 @@ -name: skeleton -description: "An animated pile of bones, held together by dark energy." -idle_descriptions: - - "rattles ominously" - - "clicks its jaw open and shut" - - "stares with empty eye sockets" -drops: - remains: bones - loot: - - item_id: credits - weight: 70 - quantity: 30 - - item_id: credits - weight: 30 - quantity: 100 combat: - kind: combat - stats: - hp: 22 - attack: 8 - strength: 6 - defense: 8 - attack_type: stab - speed: 5 aggressive: true + attack_types: + - stab + kind: combat respawn_ticks: 30 - bonuses: - attack_bonus: 6 - strength_bonus: 4 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 10 - slash_defense: 18 - crush_defense: -5 - science_defense: -8 - ranged_defense: 10 - size: medium + size: medium + stats: + attack: 8 + bonuses: + attack_bonus: 6 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 4 + defense: 8 + defenses: + crush_defense: -5 + ranged_defense: 10 + science_defense: -8 + slash_defense: 18 + stab_defense: 10 + hp: 22 + max_melee_hit: 2 + speed: 5 + strength: 6 +description: An animated pile of bones, held together by dark energy. +drops: + loot: + - item_id: credits + quantity: 30 + weight: 70 + - item_id: credits + quantity: 100 + weight: 30 + remains: bones +idle_descriptions: + - rattles ominously + - clicks its jaw open and shut + - stares with empty eye sockets +name: skeleton diff --git a/data/mobs/examples/slug.yaml b/data/mobs/examples/slug.yaml index 0429ee1..41aa849 100644 --- a/data/mobs/examples/slug.yaml +++ b/data/mobs/examples/slug.yaml @@ -1,44 +1,46 @@ -name: slug -description: "A bloated, translucent slug the size of a dog. Its skin glistens with toxic mucus. It cannot be killed by conventional means — only salt can destroy it." -idle_descriptions: - - "oozes along the floor leaving a slimy trail" - - "contracts and expands rhythmically" - - "extends its eyestalks toward you" - - "secretes a glob of toxic mucus" -drops: - remains: slug_mucus - loot: - - item_id: credits - weight: 100 - quantity: 15 combat: - kind: combat - stats: - hp: 15 - attack: 3 - strength: 3 - defense: 1 - attack_type: crush - speed: 6 aggressive: false + assassin_level: 1 + attack_types: + - crush + combat_descriptions: + - lunges slimily at %s + - sprays mucus toward %s + - writhes in combat with %s + finishing_blow: salt + kind: combat respawn_ticks: 25 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 0 - slash_defense: 0 - crush_defense: 0 - science_defense: 0 - ranged_defense: 0 - assassin_level: 1 - finishing_blow: salt - size: small - combat_descriptions: - - "lunges slimily at %s" - - "sprays mucus toward %s" - - "writhes in combat with %s" + size: small + stats: + attack: 3 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 1 + defenses: + crush_defense: 0 + ranged_defense: 0 + science_defense: 0 + slash_defense: 0 + stab_defense: 0 + hp: 15 + max_melee_hit: 1 + speed: 6 + strength: 3 +description: A bloated, translucent slug the size of a dog. Its skin glistens with toxic mucus. It cannot be killed by conventional means — only salt can destroy it. +drops: + loot: + - item_id: credits + quantity: 15 + weight: 100 + remains: slug_mucus +idle_descriptions: + - oozes along the floor leaving a slimy trail + - contracts and expands rhythmically + - extends its eyestalks toward you + - secretes a glob of toxic mucus +name: slug diff --git a/data/mobs/examples/solar_panel_frame.yaml b/data/mobs/examples/solar_panel_frame.yaml index 2685db0..a24e79c 100644 --- a/data/mobs/examples/solar_panel_frame.yaml +++ b/data/mobs/examples/solar_panel_frame.yaml @@ -1,44 +1,46 @@ -name: solar panel frame -description: "A half-assembled photovoltaic array on a steel frame. Panels, brackets and cabling are laid out, waiting to be fitted. This is work, not a fight — fix the panels into place to complete the array." -task: - verb: assemble - progress_noun: assembly - complete_message: "You bolt the final panel into place and the solar array hums to life!" -idle_descriptions: - - "stands half-assembled, panels waiting to be fitted" - - "has loose cabling dangling from an open junction box" - - "catches the light on its few mounted panels" -drops: - loot: - - item_id: credits - weight: 70 - quantity: 40 - - item_id: credits - weight: 25 - quantity: 90 - - item_id: coal - weight: 5 - quantity: 1 combat: - kind: task - stats: - hp: 40 - defense: 10 - attack_type: crush - speed: 5 aggressive: false + attack_types: + - crush + kind: task respawn_ticks: 40 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 40 - slash_defense: 40 - crush_defense: 0 - science_defense: 10 - ranged_defense: 10 - size: medium + size: medium + stats: + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 10 + defenses: + crush_defense: 0 + ranged_defense: 10 + science_defense: 10 + slash_defense: 40 + stab_defense: 40 + hp: 40 + max_melee_hit: 0 + speed: 5 +description: A half-assembled photovoltaic array on a steel frame. Panels, brackets and cabling are laid out, waiting to be fitted. This is work, not a fight — fix the panels into place to complete the array. +drops: + loot: + - item_id: credits + quantity: 40 + weight: 70 + - item_id: credits + quantity: 90 + weight: 25 + - item_id: coal + quantity: 1 + weight: 5 +idle_descriptions: + - stands half-assembled, panels waiting to be fitted + - has loose cabling dangling from an open junction box + - catches the light on its few mounted panels +name: solar panel frame +task: + complete_message: You bolt the final panel into place and the solar array hums to life! + progress_noun: assembly + verb: assemble diff --git a/data/mobs/examples/titan_sentinel.yaml b/data/mobs/examples/titan_sentinel.yaml index 6fb36d3..2192527 100644 --- a/data/mobs/examples/titan_sentinel.yaml +++ b/data/mobs/examples/titan_sentinel.yaml @@ -1,50 +1,53 @@ -name: titan sentinel -description: "A colossal automaton, the bigger brother of the iron sentinel. Its armor is reinforced adamantite alloy and its optics burn with crimson fire." -idle_descriptions: - - "stands motionless, gyros humming" - - "scans the area with a sweeping crimson beam" - - "vents superheated exhaust" - - "rotates its armored torso with a deep grinding sound" -drops: - loot: - - item_id: scrap - weight: 30 - quantity: 10 - - item_id: credits - weight: 50 - quantity: 8000 - - table: gem_table - weight: 15 - - item_id: deathjunk - weight: 5 - quantity: 5 combat: - kind: combat - stats: - hp: 132 - attack: 50 - strength: 52 - defense: 56 - attack_type: crush - speed: 5 aggressive: true + attack_types: + - crush + combat_descriptions: + - smashes %s with a titan-grade fist + - unleashes a devastating plasma barrage at %s + - drives %s into the ground with overwhelming force + kind: combat respawn_ticks: 120 - bonuses: - attack_bonus: 48 - strength_bonus: 45 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 90 - slash_defense: 90 - crush_defense: 80 - science_defense: -35 - ranged_defense: 60 - weakness: solar - size: massive - combat_descriptions: - - "smashes %s with a titan-grade fist" - - "unleashes a devastating plasma barrage at %s" - - "drives %s into the ground with overwhelming force" + size: massive + stats: + attack: 50 + bonuses: + attack_bonus: 48 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 45 + defense: 56 + defenses: + crush_defense: 80 + ranged_defense: 60 + science_defense: -35 + slash_defense: 90 + stab_defense: 90 + weakness: solar + weakness_percent: 50 + hp: 132 + max_melee_hit: 10 + speed: 5 + strength: 52 +description: A colossal automaton, the bigger brother of the iron sentinel. Its armor is reinforced adamantite alloy and its optics burn with crimson fire. +drops: + loot: + - item_id: scrap + quantity: 10 + weight: 30 + - item_id: credits + quantity: 8000 + weight: 50 + - table: gem_table + weight: 15 + - item_id: deathjunk + quantity: 5 + weight: 5 +idle_descriptions: + - stands motionless, gyros humming + - scans the area with a sweeping crimson beam + - vents superheated exhaust + - rotates its armored torso with a deep grinding sound +name: titan sentinel diff --git a/data/mobs/examples/veteran_merc.yaml b/data/mobs/examples/veteran_merc.yaml index 71e3826..0e187c1 100644 --- a/data/mobs/examples/veteran_merc.yaml +++ b/data/mobs/examples/veteran_merc.yaml @@ -1,51 +1,55 @@ -name: veteran merc -description: "A battle-hardened soldier with a high-powered rifle and tactical armor covered in campaign patches. Their cybernetic eye locks onto you instantly." -idle_descriptions: - - "checks their rifle's ammunition counter" - - "adjusts their tactical vest" - - "scans the area through their scope" - - "spits and mutters a war story" -drops: - remains: bones - loot: - - item_id: credits - weight: 55 - quantity: 1200 - - item_id: chaosjunk - weight: 15 - quantity: 2 - - item_id: deathjunk - weight: 15 - quantity: 2 - - table: herb_table_mid - weight: 15 combat: - kind: combat - stats: - hp: 93 - attack: 1 - strength: 1 - defense: 40 - ranged: 79 - attack_type: ranged - speed: 5 aggressive: true + attack_types: + - stab + - ranged + combat_descriptions: + - fires a high-caliber round at %s + - puts %s in their crosshairs and squeezes the trigger + - unleashes suppressive fire at %s + kind: combat respawn_ticks: 65 - bonuses: - attack_bonus: 0 - strength_bonus: 0 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 40 - slash_defense: 40 - crush_defense: 35 - science_defense: 20 - ranged_defense: 55 - size: medium - combat_descriptions: - - "fires a high-caliber round at %s" - - "puts %s in their crosshairs and squeezes the trigger" - - "unleashes suppressive fire at %s" + size: medium + stats: + attack: 55 + bonuses: + attack_bonus: 0 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 0 + defense: 40 + defenses: + crush_defense: 35 + ranged_defense: 55 + science_defense: 20 + slash_defense: 40 + stab_defense: 40 + hp: 93 + max_melee_hit: 8 + max_ranged_hit: 9 + ranged: 79 + speed: 5 + strength: 55 +description: A battle-hardened soldier with a high-powered rifle and tactical armor covered in campaign patches. Their cybernetic eye locks onto you instantly. +drops: + loot: + - item_id: credits + quantity: 1200 + weight: 55 + - item_id: chaosjunk + quantity: 2 + weight: 15 + - item_id: deathjunk + quantity: 2 + weight: 15 + - table: herb_table_mid + weight: 15 + remains: bones +idle_descriptions: + - checks their rifle's ammunition counter + - adjusts their tactical vest + - scans the area through their scope + - spits and mutters a war story +name: veteran merc diff --git a/data/mobs/examples/void_reaper.yaml b/data/mobs/examples/void_reaper.yaml index bf85470..4223f69 100644 --- a/data/mobs/examples/void_reaper.yaml +++ b/data/mobs/examples/void_reaper.yaml @@ -1,61 +1,64 @@ -name: void reaper -description: "A shadowy figure that seems to absorb light itself. Its form shifts between a hooded specter and an armored construct. A scythe of dark energy flickers in its grasp." -idle_descriptions: - - "flickers in and out of existence" - - "draws the warmth from the surrounding air" - - "whispers in a language that predates humanity" - - "reaches out with shadowy tendrils" -drops: - remains: ectoplasm - loot: - - item_id: credits - weight: 30 - quantity: 20000 - - item_id: law_identifier - weight: 5 - - item_id: death_identifier - weight: 5 - - item_id: blood_identifier - weight: 5 - - item_id: bloodjunk - weight: 20 - quantity: 10 - - table: gem_table - weight: 15 - - item_id: uncut_diamond - weight: 10 - quantity: 5 - - table: herb_table_high - weight: 10 combat: - kind: combat - stats: - hp: 170 - attack: 62 - strength: 68 - defense: 72 - attack_type: slash - speed: 3 aggressive: true + assassin_level: 80 + attack_types: + - slash + combat_descriptions: + - swings its void scythe at %s + - drains the life force from %s + - envelops %s in absolute darkness + finishing_blow: lawjunk + kind: combat respawn_ticks: 200 - bonuses: - attack_bonus: 60 - strength_bonus: 60 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 100 - slash_defense: 110 - crush_defense: 90 - science_defense: -45 - ranged_defense: 75 - weakness: bio - assassin_level: 80 - finishing_blow: lawjunk - size: massive - combat_descriptions: - - "swings its void scythe at %s" - - "drains the life force from %s" - - "envelops %s in absolute darkness" + size: massive + stats: + attack: 62 + bonuses: + attack_bonus: 60 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 60 + defense: 72 + defenses: + crush_defense: 90 + ranged_defense: 75 + science_defense: -45 + slash_defense: 110 + stab_defense: 100 + weakness: bio + weakness_percent: 50 + hp: 170 + max_melee_hit: 15 + speed: 3 + strength: 68 +description: A shadowy figure that seems to absorb light itself. Its form shifts between a hooded specter and an armored construct. A scythe of dark energy flickers in its grasp. +drops: + loot: + - item_id: credits + quantity: 20000 + weight: 30 + - item_id: law_identifier + weight: 5 + - item_id: death_identifier + weight: 5 + - item_id: blood_identifier + weight: 5 + - item_id: bloodjunk + quantity: 10 + weight: 20 + - table: gem_table + weight: 15 + - item_id: uncut_diamond + quantity: 5 + weight: 10 + - table: herb_table_high + weight: 10 + remains: ectoplasm +idle_descriptions: + - flickers in and out of existence + - draws the warmth from the surrounding air + - whispers in a language that predates humanity + - reaches out with shadowy tendrils +name: void reaper diff --git a/data/mobs/examples/war_drone.yaml b/data/mobs/examples/war_drone.yaml index 7255a45..e0136a9 100644 --- a/data/mobs/examples/war_drone.yaml +++ b/data/mobs/examples/war_drone.yaml @@ -1,51 +1,54 @@ -name: war drone -description: "An upgraded combat drone with reinforced plating and a heavier weapons array. Its targeting systems whir as it locks onto you." -idle_descriptions: - - "hovers aggressively, weapons armed" - - "emits a low, threatening hum" - - "paints a targeting reticle on the wall" - - "cycles through weapon modes with a click" -drops: - remains: circuit_board - loot: - - item_id: credits - weight: 60 - quantity: 200 - - item_id: scrap - weight: 20 - quantity: 4 - - item_id: credits - weight: 10 - quantity: 500 - - table: gem_table - weight: 10 combat: - kind: combat - stats: - hp: 65 - attack: 25 - strength: 28 - defense: 25 - attack_type: slash - speed: 4 aggressive: true + attack_types: + - slash + combat_descriptions: + - fires a plasma bolt at %s + - slashes at %s with a rotary blade + - launches a concussion grenade at %s + kind: combat respawn_ticks: 50 - bonuses: - attack_bonus: 20 - strength_bonus: 18 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 35 - slash_defense: 30 - crush_defense: 40 - science_defense: -10 - ranged_defense: 20 - weakness: solar - size: medium - combat_descriptions: - - "fires a plasma bolt at %s" - - "slashes at %s with a rotary blade" - - "launches a concussion grenade at %s" + size: medium + stats: + attack: 25 + bonuses: + attack_bonus: 20 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 18 + defense: 25 + defenses: + crush_defense: 40 + ranged_defense: 20 + science_defense: -10 + slash_defense: 30 + stab_defense: 35 + weakness: solar + weakness_percent: 50 + hp: 65 + max_melee_hit: 5 + speed: 4 + strength: 28 +description: An upgraded combat drone with reinforced plating and a heavier weapons array. Its targeting systems whir as it locks onto you. +drops: + loot: + - item_id: credits + quantity: 200 + weight: 60 + - item_id: scrap + quantity: 4 + weight: 20 + - item_id: credits + quantity: 500 + weight: 10 + - table: gem_table + weight: 10 + remains: circuit_board +idle_descriptions: + - hovers aggressively, weapons armed + - emits a low, threatening hum + - paints a targeting reticle on the wall + - cycles through weapon modes with a click +name: war drone diff --git a/data/mobs/examples/zombie.yaml b/data/mobs/examples/zombie.yaml index 77bb5ed..e104989 100644 --- a/data/mobs/examples/zombie.yaml +++ b/data/mobs/examples/zombie.yaml @@ -1,42 +1,45 @@ -name: zombie -description: "A shambling corpse reanimated by residual asteroid radiation." -idle_descriptions: - - "groans and shuffles forward" - - "reaches out with decaying arms" - - "stumbles and catches itself" - - "stares blankly ahead" -drops: - remains: bones - loot: - - item_id: credits - weight: 60 - quantity: 50 - - item_id: credits - weight: 40 - quantity: 200 combat: - kind: combat - stats: - hp: 30 - attack: 10 - strength: 8 - defense: 8 - attack_type: crush - speed: 6 aggressive: true + attack_types: + - crush + kind: combat respawn_ticks: 35 - bonuses: - attack_bonus: 4 - strength_bonus: 6 - science_bonus: 0 - science_percent_bonus: 0 - ranged_bonus: 0 - ranged_strength_bonus: 0 - defenses: - stab_defense: 8 - slash_defense: 20 - crush_defense: -8 - science_defense: -15 - ranged_defense: 8 - weakness: solar - size: medium + size: medium + stats: + attack: 10 + bonuses: + attack_bonus: 4 + ranged_bonus: 0 + ranged_strength_bonus: 0 + science_bonus: 0 + science_percent_bonus: 0 + strength_bonus: 6 + defense: 8 + defenses: + crush_defense: -8 + ranged_defense: 8 + science_defense: -15 + slash_defense: 20 + stab_defense: 8 + weakness: solar + weakness_percent: 50 + hp: 30 + max_melee_hit: 2 + speed: 6 + strength: 8 +description: A shambling corpse reanimated by residual asteroid radiation. +drops: + loot: + - item_id: credits + quantity: 50 + weight: 60 + - item_id: credits + quantity: 200 + weight: 40 + remains: bones +idle_descriptions: + - groans and shuffles forward + - reaches out with decaying arms + - stumbles and catches itself + - stares blankly ahead +name: zombie |
