Area attacks, multi-target selection and follow-up strikes for tactical RPGs. Seven ScriptableObject shapes, friendly-fire and line-of-sight control, swappable damage math. Grid-agnostic.ENGLISHEvery tactical RPG eventually needs area attacks — and hand-coding them tends to go the same way. One more branch for every new shape. Friendly-fire rules copy-pasted into each attack. Simultaneous strikes where whoever was processed first quietly wins. Three hits on one enemy stacking three unreadable damage numbers on top of each other. And a follow-up system you can never find the right place to insert.This package takes that entire problem off your hands. You implement one interface on your own unit class, and everything else — shapes, targeting rules, hit resolution, follow-ups and pacing — is handled for you.FULLY AUTHORABLE SHAPESAttack areas are ScriptableObjects, so designers build and tune them entirely in the Inspector. Seven types ship with the package: single cell, radius (switch one metric for a diamond, a square, a true circle or a donut ring), cross, piercing line, cone, hand-drawn cell patterns for map weapons, and a composite shape that combines the others with union, intersection and difference. When you need a shape nobody thought of, subclass one base class and write one method — the asset's own code is never touched.CONTROL OVER WHO GETS CAUGHTFriendly fire is four checkboxes: hostiles, allies, neutrals, self. Line of sight removes anyone standing behind cover, with both a cell-walking and a physics-raycast implementation included. Cap the number of victims and order them by proximity or remaining health for multi-lock-on bombing. Filter by tags so anti-air weapons only reach flying units. Shape the damage falloff from ground zero with an AnimationCurve.RESOLUTION THAT BEHAVES CORRECTLYHits are resolved in two stages: every roll is settled first, then all of them are applied at once. Simultaneous attacks therefore trade properly instead of favouring whoever ran first, repeated hits on one victim collapse into a single readable number, and you can inspect the whole outcome before committing it — which is what lets you time your camera work around it.MULTI-TARGET, COMBOS AND FOLLOW-UPSBuild skills where the player names N victims by hand, repeats allowed, so concentrating fire on one enemy versus spreading it across three becomes a real decision. Gate a combo on companions standing nearby, defined entirely as data. Queue follow-up attacks from the initial strike's outcome using five bundled conditions — speed advantage, health threshold, tags, chance, and what the first blow actually did.GENRE AND GRID AGNOSTICNothing here references a specific game, unit type or setting. Coordinates flow through one lightweight value type that converts implicitly from Vector3Int, so 2D Tilemaps, 3D grids and node graphs all work. If you dislike the built-in accuracy and damage formula, implement one interface and replace it outright — the area resolution, batching and follow-up pipeline keep working unchanged. That makes this a good fit for projects that already have a combat system and only want the area side solved.A DEMO YOU CAN ACTUALLY RUNOne menu click generates a complete showcase scene, and pressing Play walks through all sixteen features with captions. It uses no external assets whatsoever — every shape is generated in code — and it doubles as a worked example of the integration you will write yourself.JAPANESESRPGを作っていれば、いずれ範囲攻撃が必要になります。そして自作すると、だいたい同じ道をたどります。形状を1つ足すたびに増える分岐。攻撃ごとにコピペされる味方巻き込みの判定。同時攻撃のはずが、先に処理された側だけが得をする。同じ敵に3発当たれば、読めない数字が3つ重なる。そして追撃を入れたくても、既存の処理のどこに挟めばいいか分からない。本パッケージは、この問題を丸ごと引き受けます。あなたのユニットクラスにインターフェースを1つ実装するだけで、形状・対象選定・命中判定・追撃・演出のテンポまでを任せられます。■ 自由に作れる範囲形状攻撃範囲はScriptableObjectなので、デザイナーがインスペクタだけで作成・調整できます。同梱は7種類。単体、半径(測り方を1つ変えるだけで菱形・正方形・真円・ドーナツ状に)、十字、貫通する直線、扇形、マップ兵器のための手描きマス指定、そしてそれらをUnion・Intersection・Differenceで合成する形状。誰も思いつかなかった形が必要になっても、基底クラスを継承してメソッドを1つ書くだけで済み、本体コードには一切触れません。■ 誰を巻き込むかの制御フレンドリーファイアは、敵・味方・中立・自分自身の4つのチェックボックスです。遮蔽は障害物の陰にいる対象を除外し、マス走査方式とRaycast方式の両方を同梱しています。対象数に上限を設け、距離や残りHPで並べれば、マルチロックオン爆撃になります。タグで絞れば、対空兵装は飛行ユニットにしか届きません。爆心地からの減衰はAnimationCurveで設計できます。■ 正しく振る舞う判定命中判定は2段階です。まず全ての判定を確定させ、その後に一斉に適用します。だから同時攻撃は先に処理された側を優遇せずきちんと相打ちになり、同一対象への複数ヒットは読める1つの数値にまとまり、適用前に結果全体を覗けます。これが、カメラワークの尺を先に組める理由です。■ マルチターゲット・連携・追撃プレイヤーが対象をN回自由に指名する技を作れます。同じ相手を複数回選べるため、1体に集中させるか3体へ散らすかが本物の判断になります。近くの仲間を条件にした連携技も、すべてデータとして定義できます。追撃は初撃の結果からキューに積まれ、速力差・HP閾値・タグ・確率・初撃の結果という5つの条件を同梱しています。■ ジャンルにもグリッドにも依存しません特定のゲーム・ユニット種別・世界観を一切参照していません。座標はVector3Intから暗黙変換される軽量な値型に集約されているため、2D Tilemap・3Dグリッド・ノードグラフのいずれでも動作します。同梱の命中・ダメージ計算式が気に入らなければ、インターフェースを1つ実装して丸ごと置き換えてください。範囲判定・バッチ処理・追撃パイプラインはそのまま動き続けます。すでに戦闘システムをお持ちで、範囲まわりだけを解決したいプロジェクトに向いています。■ 実際に動かせるデモメニューを1回押せば完全な実演シーンが生成され、再生すると16の機能が字幕付きで流れます。外部アセットは一切使わず、図形はすべてコードで生成しています。同時に、あなたが書くことになる導入コードの見本にもなっています。ENGLISH- Seven ScriptableObject area shapes: Single Cell, Radius (Manhattan / Chebyshev / Euclidean, with min-radius rings), Cross, Line, Cone, hand-authored Pattern, and Composite (union / intersection / difference)- Add new shapes without editing the package — subclass AoEShapeData and implement one method- Friendly-fire control per relation: hostiles, allies, neutrals and the attacker itself- Line of sight with two included providers: grid cell-walking (GridLineOfSight) and physics raycasts (PhysicsLineOfSight, 2D and 3D)- Target cap with priority ordering (nearest, farthest, lowest health, highest health) for multi-lock-on behaviour- Tag-based target filtering (required tags with any/all matching, plus exclusion tags)- Distance-based damage falloff driven by an AnimationCurve- Two-stage batch pipeline (AoEBatchPipeline): resolve every hit first, then apply them together — correct simultaneous trades, per-target damage aggregation, and inspectable results before commit- Non-lethal flag that floors a target at 1 health, so a barrage cannot kill someone you meant to capture- Swappable hit and damage math through IHitResolver; override it per attack, or globally, without touching area resolution or follow-ups- MultiTargetSelection: event-driven state machine for naming N targets by hand, duplicates allowed, with pick counts for badge UI- ComboActivationRule: gate a skill on nearby allies, authored either as a named group or as an initiator qualification plus tag / count / radius conditions- Follow-up pipeline with five bundled ScriptableObject conditions (speed advantage, health threshold, tag requirement, chance, strike outcome), AND/OR combination and a chain-depth limit- AoESequenceRunner: coroutine conductor with Inspector-exposed pacing (telegraph, shot interval, impact, post-hit, follow-up) and events for muzzle flashes, camera work and damage numbers- Grid-agnostic GridCoord value type with implicit conversion from Vector3Int / Vector2Int — works with 2D Tilemaps, 3D grids and node graphs- Plug & Play integration: implement IAoEAffectable (and IAoESource) on your own unit class; the package never writes to your health directly- Zero external dependencies — pure C#/Unity, no DOTween or other plugins- Works under both the legacy Input Manager and the new Input System- Isolated Assembly Definitions (Runtime / Demo / Samples) — no namespace or class-name collisions; Demo and Samples are safely deletable- Included showcase scene generated by a single editor menu item, demonstrating all 16 features with captions and using no external art, audio or font assets- Full C# source, no obfuscation; every XML doc comment and Inspector tooltip is written in both English and Japanese- Bilingual README for the package and for the demoJAPANESE- ScriptableObjectによる7種類の範囲形状: 単体/半径(マンハッタン・チェビシェフ・ユークリッド、最小半径でリング状も)/十字/直線/扇形/手描きのマス指定/合成(Union・Intersection・Difference)- パッケージを改変せずに新形状を追加可能 — AoEShapeDataを継承しメソッドを1つ実装するだけ- 関係別のフレンドリーファイア制御: 敵対/味方/中立/攻撃者自身- 遮蔽判定を2実装同梱: グリッドのマス走査(GridLineOfSight)と物理レイキャスト(PhysicsLineOfSight、2D・3D対応)- 対象数の上限と優先順位(近い順/遠い順/残HPが少ない順/多い順)によるマルチロックオン- タグによる対象フィルタ(必須タグのAny/All判定、および除外タグ)- AnimationCurveで設計する距離減衰- 2段階のバッチ処理(AoEBatchPipeline): 全判定を先に確定してから一斉適用 — 同時攻撃の正しい相打ち、対象ごとのダメージ合算、適用前の結果参照- 非致死フラグ: HPを必ず1残すため、一斉射撃で捕獲予定の相手を倒してしまう事故を防止- IHitResolverによる命中・ダメージ計算の差し替え。攻撃1種ごとにも全体にも適用でき、範囲判定と追撃には影響しません- MultiTargetSelection: 対象をN回手動指名するイベント駆動の状態機械。重複指名可、バッジUI用の指名回数を取得可能- ComboActivationRule: 近くの仲間を条件に技を解禁。専用グループ指定、または発動者資格+タグ・人数・半径条件のいずれかで記述- 追撃パイプラインと5種の条件アセット(速力差/HP閾値/タグ/確率/初撃の結果)、AND・OR結合、連鎖段数の上限- AoESequenceRunner: 演出の“間”をインスペクタで調整できるコルーチン進行役(予兆・連射間隔・着弾・着弾後・追撃)と、マズルフラッシュ/カメラ/ダメージ数値のためのイベント- グリッド非依存のGridCoord値型。Vector3Int / Vector2Intから暗黙変換 — 2D Tilemap・3Dグリッド・ノードグラフに対応- Plug & Play: 自分のユニットクラスにIAoEAffectable(および IAoESource)を実装するだけ。パッケージがHPを直接書き換えることはありません- 外部依存ゼロ — 純粋なC#/Unityのみ。DOTween等のプラグイン不要- 旧Input Managerと新Input Systemのどちらの設定でも動作- 独立したAssembly Definition(Runtime/Demo/Samples)で名前空間・クラス名の衝突なし。DemoとSamplesは安全に削除可能- エディタメニュー1クリックで生成される実演シーンを同梱。16機能を字幕付きで実演し、外部の画像・音声・フォントを一切使用していません- 難読化なしのフルC#ソース。全XMLドキュメントコメントとインスペクタのツールチップが日英併記- パッケージ本体とデモの両方に日英READMEを同梱AI (Claude by Anthropic) was utilized as an engineering assistant during the package creation process for the following tasks:1. Refactoring and modularizing C# code to ensure high quality, loose coupling, and framework-agnostic design.2. Generating documentation drafts, API reference guides, and English/Japanese README files.All system architecture, logic design, functional requirements, and final code reviews were explicitly defined and verified by human hands. The package has been thoroughly compiled and tested within Unity to guarantee stability and performance.

