feat: eslint 적용 및 관련 코드 일괄 수정
This commit is contained in:
@@ -23,27 +23,27 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Class: `legacy/hwe/sammo/General.php` (base: `legacy/hwe/sammo/GeneralBase.php`)
|
||||
- Tables: `general`, `general_turn`, `rank_data`, `general_access_log`
|
||||
- Interaction highlights:
|
||||
- Command execution: `legacy/hwe/sammo/Command/*` and
|
||||
`legacy/hwe/sammo/TurnExecutionHelper.php`
|
||||
- Turn reservation: `legacy/hwe/sammo/LastTurn.php`
|
||||
- Combat adapter: `legacy/hwe/sammo/WarUnitGeneral.php`
|
||||
- Modifiers/triggers via `iAction` modules (items, specials, traits)
|
||||
- Logging: `legacy/hwe/sammo/ActionLogger.php`
|
||||
- Command execution: `legacy/hwe/sammo/Command/*` and
|
||||
`legacy/hwe/sammo/TurnExecutionHelper.php`
|
||||
- Turn reservation: `legacy/hwe/sammo/LastTurn.php`
|
||||
- Combat adapter: `legacy/hwe/sammo/WarUnitGeneral.php`
|
||||
- Modifiers/triggers via `iAction` modules (items, specials, traits)
|
||||
- Logging: `legacy/hwe/sammo/ActionLogger.php`
|
||||
- DB fields (schema):
|
||||
- `general`: no, owner, npcmsg, npc, npc_org, affinity, bornyear, deadyear,
|
||||
newmsg, picture, imgsvr, name, owner_name, nation, city, troop, leadership,
|
||||
leadership_exp, strength, strength_exp, intel, intel_exp, injury,
|
||||
experience, dedication, dex1, dex2, dex3, dex4, dex5, officer_level,
|
||||
officer_city, permission, gold, rice, crew, crewtype, train, atmos, weapon,
|
||||
book, horse, item, turntime, recent_war, makelimit, killturn, block,
|
||||
dedlevel, explevel, age, startage, belong, betray, personal, special,
|
||||
specage, special2, specage2, defence_train, tnmt, myset, tournament,
|
||||
newvote, last_turn, aux, penalty
|
||||
- `general_turn`: id, general_id, turn_idx, action, arg, brief
|
||||
- `general_access_log`: id, general_id, user_id, last_refresh, refresh,
|
||||
refresh_total, refresh_score, refresh_score_total
|
||||
- `rank_data`: id, nation_id, general_id, type, value
|
||||
- JSON columns: `general.last_turn`, `general.aux`, `general.penalty`
|
||||
- `general`: no, owner, npcmsg, npc, npc_org, affinity, bornyear, deadyear,
|
||||
newmsg, picture, imgsvr, name, owner_name, nation, city, troop, leadership,
|
||||
leadership_exp, strength, strength_exp, intel, intel_exp, injury,
|
||||
experience, dedication, dex1, dex2, dex3, dex4, dex5, officer_level,
|
||||
officer_city, permission, gold, rice, crew, crewtype, train, atmos, weapon,
|
||||
book, horse, item, turntime, recent_war, makelimit, killturn, block,
|
||||
dedlevel, explevel, age, startage, belong, betray, personal, special,
|
||||
specage, special2, specage2, defence_train, tnmt, myset, tournament,
|
||||
newvote, last_turn, aux, penalty
|
||||
- `general_turn`: id, general_id, turn_idx, action, arg, brief
|
||||
- `general_access_log`: id, general_id, user_id, last_refresh, refresh,
|
||||
refresh_total, refresh_score, refresh_score_total
|
||||
- `rank_data`: id, nation_id, general_id, type, value
|
||||
- JSON columns: `general.last_turn`, `general.aux`, `general.penalty`
|
||||
|
||||
### Nation (국가)
|
||||
|
||||
@@ -51,18 +51,18 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Nation-type actions: `legacy/hwe/sammo/ActionNationType/*`,
|
||||
base in `legacy/hwe/sammo/BaseNation.php`
|
||||
- Interaction highlights:
|
||||
- Nation commands: `legacy/hwe/sammo/Command/Nation/*`
|
||||
- Diplomacy: `diplomacy`, `ng_diplomacy`, and
|
||||
`legacy/hwe/sammo/DiplomaticMessage.php`
|
||||
- Monthly economy updates: `legacy/hwe/sammo/Event/Action/*`
|
||||
- Nation commands: `legacy/hwe/sammo/Command/Nation/*`
|
||||
- Diplomacy: `diplomacy`, `ng_diplomacy`, and
|
||||
`legacy/hwe/sammo/DiplomaticMessage.php`
|
||||
- Monthly economy updates: `legacy/hwe/sammo/Event/Action/*`
|
||||
- DB fields (schema):
|
||||
- `nation`: nation, name, color, capital, capset, gennum, gold, rice, bill,
|
||||
rate, rate_tmp, secretlimit, chief_set, scout, war, strategic_cmd_limit,
|
||||
surlimit, tech, power, spy, level, type, aux
|
||||
- `nation_turn`: id, nation_id, officer_level, turn_idx, action, arg, brief
|
||||
- `nation_env`: id, namespace, key, value
|
||||
- JSON columns: `nation.spy`, `nation.aux`, `nation_turn.arg`,
|
||||
`nation_env.value`
|
||||
- `nation`: nation, name, color, capital, capset, gennum, gold, rice, bill,
|
||||
rate, rate_tmp, secretlimit, chief_set, scout, war, strategic_cmd_limit,
|
||||
surlimit, tech, power, spy, level, type, aux
|
||||
- `nation_turn`: id, nation_id, officer_level, turn_idx, action, arg, brief
|
||||
- `nation_env`: id, namespace, key, value
|
||||
- JSON columns: `nation.spy`, `nation.aux`, `nation_turn.arg`,
|
||||
`nation_env.value`
|
||||
|
||||
### City (도시)
|
||||
|
||||
@@ -71,22 +71,22 @@ interact, and where their state lives. The active runtime lives in
|
||||
`legacy/hwe/sammo/CityInitialDetail.php`
|
||||
- Live cache: `legacy/hwe/sammo/CityHelper.php`
|
||||
- Interaction highlights:
|
||||
- Supply and isolation updates via `Event/Action/UpdateCitySupply`
|
||||
- Conquest/war defender: `legacy/hwe/sammo/WarUnitCity.php`
|
||||
- Supply and isolation updates via `Event/Action/UpdateCitySupply`
|
||||
- Conquest/war defender: `legacy/hwe/sammo/WarUnitCity.php`
|
||||
- DB fields (schema):
|
||||
- `city`: city, name, level, nation, supply, front, pop, pop_max, agri,
|
||||
agri_max, comm, comm_max, secu, secu_max, trust, trade, dead, def, def_max,
|
||||
wall, wall_max, officer_set, state, region, term, conflict
|
||||
- JSON columns: `city.conflict`
|
||||
- `city`: city, name, level, nation, supply, front, pop, pop_max, agri,
|
||||
agri_max, comm, comm_max, secu, secu_max, trust, trade, dead, def, def_max,
|
||||
wall, wall_max, officer_set, state, region, term, conflict
|
||||
- JSON columns: `city.conflict`
|
||||
|
||||
### Troop (부대)
|
||||
|
||||
- Data rows: `troop`
|
||||
- Interaction highlights:
|
||||
- Join/leave flows in `legacy/hwe/sammo/API/Troop/*`
|
||||
- Static event hooks from `legacy/hwe/sammo/StaticEvent/*`
|
||||
- Join/leave flows in `legacy/hwe/sammo/API/Troop/*`
|
||||
- Static event hooks from `legacy/hwe/sammo/StaticEvent/*`
|
||||
- DB fields (schema):
|
||||
- `troop`: troop_leader, nation, name
|
||||
- `troop`: troop_leader, nation, name
|
||||
|
||||
### Command / Turn (턴 예약과 실행)
|
||||
|
||||
@@ -96,8 +96,8 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Execution entry: `legacy/hwe/sammo/TurnExecutionHelper.php` and
|
||||
`legacy/hwe/proc.php`
|
||||
- DB fields (schema):
|
||||
- `general_turn`: id, general_id, turn_idx, action, arg, brief
|
||||
- `nation_turn`: id, nation_id, officer_level, turn_idx, action, arg, brief
|
||||
- `general_turn`: id, general_id, turn_idx, action, arg, brief
|
||||
- `nation_turn`: id, nation_id, officer_level, turn_idx, action, arg, brief
|
||||
|
||||
### War Units (전투 단위)
|
||||
|
||||
@@ -105,8 +105,8 @@ interact, and where their state lives. The active runtime lives in
|
||||
- General combat: `legacy/hwe/sammo/WarUnitGeneral.php`
|
||||
- City combat: `legacy/hwe/sammo/WarUnitCity.php`
|
||||
- Interaction highlights:
|
||||
- Battle flow and resolution: `legacy/hwe/process_war.php`
|
||||
- Uses General/Nation/City snapshots for deterministic resolution
|
||||
- Battle flow and resolution: `legacy/hwe/process_war.php`
|
||||
- Uses General/Nation/City snapshots for deterministic resolution
|
||||
|
||||
## Rule Modules and Modifiers
|
||||
|
||||
@@ -114,13 +114,13 @@ interact, and where their state lives. The active runtime lives in
|
||||
|
||||
- Interface: `legacy/hwe/sammo/iAction.php`
|
||||
- Modules:
|
||||
- Items: `legacy/hwe/sammo/ActionItem/*`
|
||||
- Domestic specials: `legacy/hwe/sammo/ActionSpecialDomestic/*`
|
||||
- War specials: `legacy/hwe/sammo/ActionSpecialWar/*`
|
||||
- Personalities: `legacy/hwe/sammo/ActionPersonality/*`
|
||||
- Nation types: `legacy/hwe/sammo/ActionNationType/*`
|
||||
- Crew types: `legacy/hwe/sammo/ActionCrewType/*`
|
||||
- Scenario effects: `legacy/hwe/sammo/ActionScenarioEffect/*`
|
||||
- Items: `legacy/hwe/sammo/ActionItem/*`
|
||||
- Domestic specials: `legacy/hwe/sammo/ActionSpecialDomestic/*`
|
||||
- War specials: `legacy/hwe/sammo/ActionSpecialWar/*`
|
||||
- Personalities: `legacy/hwe/sammo/ActionPersonality/*`
|
||||
- Nation types: `legacy/hwe/sammo/ActionNationType/*`
|
||||
- Crew types: `legacy/hwe/sammo/ActionCrewType/*`
|
||||
- Scenario effects: `legacy/hwe/sammo/ActionScenarioEffect/*`
|
||||
- Applied by `General::getActionList()` and used by triggers, stat calculation,
|
||||
and combat phases.
|
||||
|
||||
@@ -146,8 +146,8 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Static hooks: `legacy/hwe/sammo/StaticEvent/*`,
|
||||
wired via `GameConst::$staticEventHandlers`
|
||||
- DB fields (schema):
|
||||
- `event`: id, target, priority, condition, action
|
||||
- JSON columns: `event.condition`, `event.action`
|
||||
- `event`: id, target, priority, condition, action
|
||||
- JSON columns: `event.condition`, `event.action`
|
||||
|
||||
### Messaging and Diplomacy
|
||||
|
||||
@@ -157,11 +157,11 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Diplomacy wrapper: `legacy/hwe/sammo/DiplomaticMessage.php`
|
||||
- Table: `message`
|
||||
- DB fields (schema):
|
||||
- `message`: id, mailbox, type, src, dest, time, valid_until, message
|
||||
- `diplomacy`: no, me, you, state, term, dead, showing
|
||||
- `ng_diplomacy`: no, src_nation_id, dest_nation_id, prev_no, state,
|
||||
text_brief, text_detail, date, src_signer, dest_signer, aux
|
||||
- JSON columns: `message.message`, `ng_diplomacy.aux`
|
||||
- `message`: id, mailbox, type, src, dest, time, valid_until, message
|
||||
- `diplomacy`: no, me, you, state, term, dead, showing
|
||||
- `ng_diplomacy`: no, src_nation_id, dest_nation_id, prev_no, state,
|
||||
text_brief, text_detail, date, src_signer, dest_signer, aux
|
||||
- JSON columns: `message.message`, `ng_diplomacy.aux`
|
||||
|
||||
### Economy and World State
|
||||
|
||||
@@ -170,10 +170,10 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Trade and supply: `RandomizeCityTradeRate`, `UpdateCitySupply`,
|
||||
`UpdateNationLevel`
|
||||
- DB fields (schema):
|
||||
- `nation_env`: id, namespace, key, value
|
||||
- `statistic`: no, year, month, nation_count, nation_name, nation_hist,
|
||||
gen_count, personal_hist, special_hist, power_hist, crewtype, etc, aux
|
||||
- JSON columns: `statistic.aux`, `nation_env.value`
|
||||
- `nation_env`: id, namespace, key, value
|
||||
- `statistic`: no, year, month, nation_count, nation_name, nation_hist,
|
||||
gen_count, personal_hist, special_hist, power_hist, crewtype, etc, aux
|
||||
- JSON columns: `statistic.aux`, `nation_env.value`
|
||||
|
||||
### Auctions, Betting, and Votes
|
||||
|
||||
@@ -181,17 +181,17 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Betting: `legacy/hwe/sammo/Betting.php` and `ng_betting`
|
||||
- Votes and tournaments: `vote`, `vote_comment`, `tournament`
|
||||
- DB fields (schema):
|
||||
- `ng_auction`: id, type, finished, target, host_general_id, req_resource,
|
||||
open_date, close_date, detail
|
||||
- `ng_auction_bid`: no, auction_id, owner, general_id, amount, date, aux
|
||||
- `ng_betting`: id, betting_id, general_id, user_id, betting_type, amount
|
||||
- `vote`: id, vote_id, general_id, nation_id, selection
|
||||
- `vote_comment`: id, vote_id, general_id, nation_id, general_name,
|
||||
nation_name, text, date
|
||||
- `tournament`: seq, no, npc, name, w, b, h, leadership, strength, intel, lvl,
|
||||
grp, grp_no, win, draw, lose, gl, prmt
|
||||
- JSON columns: `ng_auction.detail`, `ng_auction_bid.aux`, `ng_betting.betting_type`,
|
||||
`vote.selection`
|
||||
- `ng_auction`: id, type, finished, target, host_general_id, req_resource,
|
||||
open_date, close_date, detail
|
||||
- `ng_auction_bid`: no, auction_id, owner, general_id, amount, date, aux
|
||||
- `ng_betting`: id, betting_id, general_id, user_id, betting_type, amount
|
||||
- `vote`: id, vote_id, general_id, nation_id, selection
|
||||
- `vote_comment`: id, vote_id, general_id, nation_id, general_name,
|
||||
nation_name, text, date
|
||||
- `tournament`: seq, no, npc, name, w, b, h, leadership, strength, intel, lvl,
|
||||
grp, grp_no, win, draw, lose, gl, prmt
|
||||
- JSON columns: `ng_auction.detail`, `ng_auction_bid.aux`, `ng_betting.betting_type`,
|
||||
`vote.selection`
|
||||
|
||||
### Logs and Records
|
||||
|
||||
@@ -199,14 +199,14 @@ interact, and where their state lives. The active runtime lives in
|
||||
- User logs: `legacy/hwe/sammo/UserLogger.php`
|
||||
- Tables: `ng_history`, `world_history`, `general_record`, `user_record`, `hall`
|
||||
- DB fields (schema):
|
||||
- `ng_history`: no, server_id, year, month, map, global_history, global_action,
|
||||
nations
|
||||
- `world_history`: id, nation_id, year, month, text
|
||||
- `general_record`: id, general_id, log_type, year, month, text
|
||||
- `user_record`: id, user_id, server_id, log_type, year, month, date, text
|
||||
- `hall`: id, server_id, season, scenario, general_no, type, value, owner, aux
|
||||
- JSON columns: `ng_history.map`, `ng_history.global_history`,
|
||||
`ng_history.global_action`, `ng_history.nations`, `hall.aux`
|
||||
- `ng_history`: no, server_id, year, month, map, global_history, global_action,
|
||||
nations
|
||||
- `world_history`: id, nation_id, year, month, text
|
||||
- `general_record`: id, general_id, log_type, year, month, text
|
||||
- `user_record`: id, user_id, server_id, log_type, year, month, date, text
|
||||
- `hall`: id, server_id, season, scenario, general_no, type, value, owner, aux
|
||||
- JSON columns: `ng_history.map`, `ng_history.global_history`,
|
||||
`ng_history.global_action`, `ng_history.nations`, `hall.aux`
|
||||
|
||||
### Boards, Locks, and Storage
|
||||
|
||||
@@ -214,13 +214,13 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Locks: `plock`
|
||||
- KV stores: `storage`, `nation_env`
|
||||
- DB fields (schema):
|
||||
- `board`: no, nation_no, is_secret, date, general_no, author, author_icon,
|
||||
title, text
|
||||
- `comment`: no, nation_no, is_secret, date, document_no, general_no, author,
|
||||
text
|
||||
- `plock`: no, type, plock, locktime
|
||||
- `storage`: id, namespace, key, value
|
||||
- JSON columns: `storage.value`
|
||||
- `board`: no, nation_no, is_secret, date, general_no, author, author_icon,
|
||||
title, text
|
||||
- `comment`: no, nation_no, is_secret, date, document_no, general_no, author,
|
||||
text
|
||||
- `plock`: no, type, plock, locktime
|
||||
- `storage`: id, namespace, key, value
|
||||
- JSON columns: `storage.value`
|
||||
|
||||
### Archive and Lifecycle Tables
|
||||
|
||||
@@ -230,24 +230,24 @@ interact, and where their state lives. The active runtime lives in
|
||||
- Selection pools: `select_npc_token`, `select_pool`
|
||||
- Inheritance: `inheritance_result`
|
||||
- DB fields (schema):
|
||||
- `ng_games`: id, server_id, date, winner_nation, map, season, scenario,
|
||||
scenario_name, env
|
||||
- `ng_old_nations`: id, server_id, nation, data, date
|
||||
- `ng_old_generals`: id, server_id, general_no, owner, name, last_yearmonth,
|
||||
turntime, data
|
||||
- `emperior`: no, server_id, phase, nation_count, nation_name, nation_hist,
|
||||
gen_count, personal_hist, special_hist, name, type, color, year, month,
|
||||
power, gennum, citynum, pop, poprate, gold, rice, l12name, l12pic, l11name,
|
||||
l11pic, l10name, l10pic, l9name, l9pic, l8name, l8pic, l7name, l7pic,
|
||||
l6name, l6pic, l5name, l5pic, tiger, eagle, gen, history, aux
|
||||
- `reserved_open`: id, options, date
|
||||
- `select_npc_token`: id, owner, valid_until, pick_more_from, pick_result,
|
||||
nonce
|
||||
- `select_pool`: id, unique_name, owner, general_id, reserved_until, info
|
||||
- `inheritance_result`: id, server_id, owner, general_id, year, month, value
|
||||
- JSON columns: `ng_games.env`, `ng_old_nations.data`, `ng_old_generals.data`,
|
||||
`emperior.history`, `emperior.aux`, `reserved_open.options`,
|
||||
`select_npc_token.pick_result`, `inheritance_result.value`
|
||||
- `ng_games`: id, server_id, date, winner_nation, map, season, scenario,
|
||||
scenario_name, env
|
||||
- `ng_old_nations`: id, server_id, nation, data, date
|
||||
- `ng_old_generals`: id, server_id, general_no, owner, name, last_yearmonth,
|
||||
turntime, data
|
||||
- `emperior`: no, server_id, phase, nation_count, nation_name, nation_hist,
|
||||
gen_count, personal_hist, special_hist, name, type, color, year, month,
|
||||
power, gennum, citynum, pop, poprate, gold, rice, l12name, l12pic, l11name,
|
||||
l11pic, l10name, l10pic, l9name, l9pic, l8name, l8pic, l7name, l7pic,
|
||||
l6name, l6pic, l5name, l5pic, tiger, eagle, gen, history, aux
|
||||
- `reserved_open`: id, options, date
|
||||
- `select_npc_token`: id, owner, valid_until, pick_more_from, pick_result,
|
||||
nonce
|
||||
- `select_pool`: id, unique_name, owner, general_id, reserved_until, info
|
||||
- `inheritance_result`: id, server_id, owner, general_id, year, month, value
|
||||
- JSON columns: `ng_games.env`, `ng_old_nations.data`, `ng_old_generals.data`,
|
||||
`emperior.history`, `emperior.aux`, `reserved_open.options`,
|
||||
`select_npc_token.pick_result`, `inheritance_result.value`
|
||||
|
||||
## Aux and JSON Payloads
|
||||
|
||||
@@ -259,17 +259,17 @@ not enforced by DB constraints.
|
||||
- Storage layer: `legacy/hwe/sammo/LazyVarAndAuxUpdater.php`
|
||||
- Access pattern: `getAuxVar()` / `setAuxVar()` on `General`
|
||||
- Literal keys observed in code (not exhaustive):
|
||||
- `armType`, `autorun_limit`, `inheritBuff`, `inheritRandomUnique`,
|
||||
`inheritResetSpecialWar`, `inheritResetTurnTime`,
|
||||
`inheritSpecificSpecialWar`, `last발령`, `max_domestic_critical`,
|
||||
`movingTargetCityID`, `nextTurnTimeBase`, `pickYearMonth`,
|
||||
`use_auto_nation_turn`, `use_treatment`
|
||||
- `armType`, `autorun_limit`, `inheritBuff`, `inheritRandomUnique`,
|
||||
`inheritResetSpecialWar`, `inheritResetTurnTime`,
|
||||
`inheritSpecificSpecialWar`, `last발령`, `max_domestic_critical`,
|
||||
`movingTargetCityID`, `nextTurnTimeBase`, `pickYearMonth`,
|
||||
`use_auto_nation_turn`, `use_treatment`
|
||||
- Key sources:
|
||||
- Turn execution timing: `legacy/hwe/sammo/TurnExecutionHelper.php`
|
||||
- AI state and movement: `legacy/hwe/sammo/GeneralAI.php`
|
||||
- Inheritance actions: `legacy/hwe/sammo/API/InheritAction/*`
|
||||
- Domestic critical resets: `legacy/hwe/sammo/Command/General/*`
|
||||
- Troop dispatch markers: `legacy/hwe/sammo/Command/Nation/che_발령.php`
|
||||
- Turn execution timing: `legacy/hwe/sammo/TurnExecutionHelper.php`
|
||||
- AI state and movement: `legacy/hwe/sammo/GeneralAI.php`
|
||||
- Inheritance actions: `legacy/hwe/sammo/API/InheritAction/*`
|
||||
- Domestic critical resets: `legacy/hwe/sammo/Command/General/*`
|
||||
- Troop dispatch markers: `legacy/hwe/sammo/Command/Nation/che_발령.php`
|
||||
- Item or trigger-specific keys are stored via constants (e.g.
|
||||
`ActionItem/event_충차.php`, `WarUnitTrigger/event_충차아이템소모.php`) and are
|
||||
not visible in literal scans.
|
||||
@@ -277,10 +277,10 @@ not enforced by DB constraints.
|
||||
### Nation `aux`
|
||||
|
||||
- Enum keys: `legacy/hwe/sammo/Enums/NationAuxKey.php`
|
||||
- `can_국기변경`, `can_국호변경`, `did_특성초토화`, `can_무작위수도이전`,
|
||||
`can_대검병사용`, `can_극병사용`, `can_화시병사용`, `can_원융노병사용`,
|
||||
`can_산저병사용`, `can_상병사용`, `can_음귀병사용`, `can_무희사용`,
|
||||
`can_화륜차사용`
|
||||
- `can_국기변경`, `can_국호변경`, `did_특성초토화`, `can_무작위수도이전`,
|
||||
`can_대검병사용`, `can_극병사용`, `can_화시병사용`, `can_원융노병사용`,
|
||||
`can_산저병사용`, `can_상병사용`, `can_음귀병사용`, `can_무희사용`,
|
||||
`can_화륜차사용`
|
||||
- Used by constraints and nation commands, especially unit unlock logic.
|
||||
|
||||
### Other JSON Columns
|
||||
@@ -372,18 +372,18 @@ This index focuses on primary runtime touch points and omits view-only pages.
|
||||
## Interaction Sketch
|
||||
|
||||
- Turn execution (`TurnExecutionHelper`):
|
||||
- Reads `general_turn` / `nation_turn`
|
||||
- Builds General/Nation/City context
|
||||
- Applies constraints → runs command → triggers → logs
|
||||
- Runs monthly events and world updates
|
||||
- Reads `general_turn` / `nation_turn`
|
||||
- Builds General/Nation/City context
|
||||
- Applies constraints → runs command → triggers → logs
|
||||
- Runs monthly events and world updates
|
||||
- Battle (`process_war.php`):
|
||||
- Builds `WarUnitGeneral` and `WarUnitCity`
|
||||
- Resolves phases and damage with triggers
|
||||
- Applies city conquest and nation collapse rules
|
||||
- Builds `WarUnitGeneral` and `WarUnitCity`
|
||||
- Resolves phases and damage with triggers
|
||||
- Applies city conquest and nation collapse rules
|
||||
- Diplomacy:
|
||||
- `Message` delivers a diplomacy request
|
||||
- `DiplomaticMessage` accepts/rejects
|
||||
- Nation command executes and updates diplomacy tables
|
||||
- `Message` delivers a diplomacy request
|
||||
- `DiplomaticMessage` accepts/rejects
|
||||
- Nation command executes and updates diplomacy tables
|
||||
|
||||
## Entity Relationships (Mermaid ERD)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user