Page history
11 May 2020
Created page with "換句換說,玩家第一個擊倒的厄咒加儂的血量是 800,下一個 1200,再下一個 1600,最後一個 2000。"
−74
Created page with "<source lang="c++">__int64 SiteBoss::getInitialHP(SiteBoss *this) // 0x71002D01F4 { const int baseHp = Enemy::getInitialHP(this); // 基礎血量(底) const int halfBa..."
+172
Created page with "厄咒加儂也有升級版,不過是依據的是另一個完全獨立的系統。 具體升級的內容是:神獸裡的厄咒加儂的血量是由玩家打死過多少別..."
−2
Created page with "== 厄咒加儂 =="
−1
Created page with "精確的數值可以在這裡找到: * [https://docs.google.com/spreadsheets/d/e/2PACX-1vRSlyOD7FLAn1TUBn64Pu8Pld-WOfgcVByuywHMWvBTEV0j8potD1wkBs-MJJXf-gvEkpfItUCMqMk6/pubhtm..."
−41
Created page with "== 大數據 =="
+1
Created page with "<source lang="c++"> if (actor->params["LevelSensorMode"] < 1) return false; if (actor_name.contains("Enemy")) { for (enemy_table : this->byml["enemy"]) { i = -1;..."
+1,139
Created page with "處理敵人的升級。方法跟上面 <code>LevelSensor::scaleWeapon</code> 處理武器的升級類似。"
+57
Created page with "<source lang="c++"> bool Ecosystem::LevelSensor::scaleWeapon(const sead::SafeString& weapon_to_look_up, // 基礎武器 ..."
+775
Created page with "如果函數找半天找不到滿足給定的條件武器、加成,遊戲就會用預設的武器、預設的加成。(程式碼裡最後的 return false 會處理所有..."
+6
Created page with "呼叫時給定一個武器的名字、預設的加成(至少多少)、跟目前玩家的經驗值。然後這個函數會回傳一個武器名稱(可能跟給定的不..."
+76
Created page with "它負責處理武器的升級。有三個東西會呼叫它:寶箱、敵人{{Check}}、 <code>Ecosystem::LevelSensor::scaleActor</code>。"
+38
Created page with "就我們能看到的部分,任天堂從來沒有調整過這兩個數值。"
−78
Created page with "this->points = points; // 原始經驗值 this->weapon_points = points * this->byml["setting"].Level2WeaponPower; // 換算成武器用分數 this->enemy_points = points * thi..."
+75
Created page with "<source lang="c++"> float points = 0.0; for (kill_flag : this->byml["flag"]) // 枚舉所有敵人 int kill_count = GameData::getIntegerFlag(kill_flag["name"]); poin..."
+58
Created page with "有趣的是,遊戲利用殺敵數計算經驗值時,會把一個「原始經驗值」轉化成「用在武器升級的經驗值」跟「用在敵人升級的經驗值」..."
+44
Created page with "遊戲到目前為止都只用殺敵數 <code>Defeated_%s_Num</code> 來計算經驗值並以此推測升級程度,但是從程式設計的角度來說可以用別的東西..."
+13
Created page with "它會用各種表格跟各種經驗值計算武器或敵人要升級多少。"
−12
Created page with "每當遊戲生成 actors 時,PlacementMgr 會呼叫這個函數。(actor 可以是武器或是敵人)"
+64
Created page with "它的功用是載入 byml 檔案 Ecosystem/LevelSensor.byml。"
Created page with "這個函數會被 <code>Ecosystem::init</code> 呼叫, 後者是被 <code>ksys::InitializeApp</code> 呼叫。"
−926
Created page with "== 升級的計算過程 =="
+4
Created page with "換句話說,就算是設成 0 ('None') 的武器也不是永遠不升級了, 而是遊戲開發者有意給玩家最低等級的武器。 只要玩家的經驗值高過..."
−7
Created page with "經驗值不夠則維持原升級(不會降級)。"
−19
Created page with "如果 scaling 處在打開狀態的話,武器有可能因為經驗值足夠的關係被升到更高級。"
−3
Created page with "'''NoneForced''' (限於寶箱): Weapon will ''never'' spawn with any modifiers. 寶箱的這個屬性會抹去其他一切升級。"
+17
Created page with "'''Yellow''': 至少黃標。"
−28
Created page with "'''Blue''': 至少藍/白標,按經驗值往上加。"
+4
Created page with "'''RandomBlue''': 可能是藍標也可能是黃標,隨機決定。 (with <code>weaponCommonSharpWeaponPer</code> being the probability)."
+3
Created page with "'''None''': 不加成"
−4
Created page with "值"
−2
Created page with "在 map units 這類的地方,下面這些值記載了遊戲打算如何加成武器。"
+1
Created page with "=== <code>SharpWeaponJudgeType</code> === 這個屬性決定某個敵人或武器「至少」會被加成多少。 (意即:就算經驗值不夠還是會加成。)"
+285
Created page with "不過西諾克斯的 LevelSensorMode 屬性並不控制他脖子上的武器如何升級(到頭來是脖子上而不是手上)。總之,西諾克斯用的是另一個..."
+57
Created page with "=== <code>LevelSensorMode</code> === 這個 actor 屬性決定了一個武器或敵人會不會升級,一個敵人的 LevelSensorMode 屬性同時控制了它手上的..."
−35
Created page with "== 屬性 =="
−4
Created page with "在大師模式裡,某些敵人的 IsHardModeActor、DisableRankUpForHardMode、LevelSensorMode這三個參數會同時被遊戲設計師手動調整。調整的目的是讓..."
+78
Created page with "在大師模式裡是否避免升級"
−22
Created page with "是否只在大師模式出現"
−25
Created page with "預設值"
+2
Created page with "參數"
−3
Created page with "註記:有些敵人本身是無法升級的(例如帶冰、火、電的蜥蜴), 這僅僅是代表他們自身就已經是最高級了。 而他們手上的武器只..."
+120
Created page with "不過 'LevelSensorMode' < 1 的時候所有敵人(跟武器)都不會升級。"
−62
Created page with "遊戲在載入敵人時會根據一定的規則升級敵人。"
−1
Created page with "== 敵人 =="
−1
Created page with "這段的意思是非 amiibo 武器的加成都是隨機的值。譬如說,如果遊戲決定增加攻擊力,而且這個武器的攻擊力從 +10 到 +20 都有可能,..."
+183
Created page with "addGuardMin 到 addGuardMax 之間的隨機數字"
−1
Created page with "Shield guard up 防禦力"
+10
Created page with "addRapidFireMin 到 addRapidFireMax 之間的隨機數字"
+1
Created page with "Quick shot (bows) 速射"
+7