Commit Graph

50 Commits (b847914d6f15ad7b11dc23f59e8a5e52e406f0d3)

Author SHA1 Message Date
David Cernat 60574ae667 [General] Implement jail time as a death penalty 8 years ago
David Cernat 71313c5aa6 [General] Implement PlayerMap packet, part 1 8 years ago
David Cernat 1f682749d6 [General] Add optional notes to PasswordDialogs 8 years ago
David Cernat 813a3c89c4 [General] Implement PlayerBook packet to track skill books read 8 years ago
David Cernat b3b73c5cd2 [General] Implement resurrection at nearest shrine or temple 8 years ago
David Cernat 78f29302ef [General] Fix PlayerJournal logic by sending only refIds for its actors
Additionally, make the refIds for actors usable in script functions.
8 years ago
David Cernat ebf7740969 [General] Repurpose GameConsole packet as GameSettings & add difficulty to it 8 years ago
David Cernat 70d9374a6a [General] Implement PlayerKillCount packets 8 years ago
David Cernat ee5c9b65c5 [General] When changing region, send new region name in PlayerCellChange 8 years ago
David Cernat 4f273932af [General] Implement sending and reading of ActorEquipment packets 8 years ago
David Cernat 11369f6513 [General] Implement sending and reading of PlayerTopic packets 8 years ago
David Cernat e6983993c2 [General] Implement sending and reading of PlayerFaction packets 8 years ago
David Cernat 0189dbf916 [General] Make JournalItem consistent with other packet structs 8 years ago
David Cernat 4d81455020 [General] Rework and simplify death reasons so they work with NPCs 8 years ago
Koncord 465a05bad0 [Client] Add ability to look like a creature for the DedicatedPlayers 8 years ago
David Cernat 2397afc6ce [General] Move mwmp::Attack to BaseStructs 8 years ago
David Cernat 9f226253d4 [General] Rename mwmp::Attack's refid into refId for consistency 8 years ago
David Cernat d24cde16dd [General] Add simple BaseActor and LocalActor classes 8 years ago
David Cernat 2bd81c3de0 [Client] Use mpNum for every WorldObject 8 years ago
David Cernat e6bc7ad463 [General] Make all flying players fly correctly, including TCL users 8 years ago
David Cernat 60d6a6d463 [Client] See when other players remove items from containers 8 years ago
David Cernat f314b13edf [General] Rename item health into charge, for consistency with OpenMW 8 years ago
David Cernat 04d45b9dbb [General] Rename packets to show they are for players only, not NPCs 8 years ago
David Cernat 9f8bed9be1 [General] Add action types to WorldEvent's ContainerChanges 8 years ago
David Cernat c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 8 years ago
David Cernat 244da19a51 [General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity 8 years ago
David Cernat 97aabf4a7d [General] Sketch out sending of cell loading/unloading info in packets 8 years ago
David Cernat 63c8a98083 [General] Stop using virtual functions in BasePlayer 8 years ago
David Cernat 35e453dec3 [General] Sketch out most of functionality for journal saving/loading 8 years ago
David Cernat d308897f95 Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges 8 years ago
David Cernat e2c595fc5d Add preliminary structure for journal changes 8 years ago
David Cernat 83277a1512 Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET 8 years ago
David Cernat 33e85c54de Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
8 years ago
David Cernat 78c6ab2a99 Clean up client Networking by putting item & spell logic in LocalPlayer 8 years ago
Koncord 7595b33461 Implement spellbook 8 years ago
Koncord b1bb552b65 Add packet ActiveSkills 8 years ago
David Cernat 95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 8 years ago
David Cernat 6cd959fac8 Rename BasePlayer's GetCell() into getCell() 8 years ago
David Cernat fa9d6e810e Use lowerCamelCase in tes3mp client function names like OpenMW does 8 years ago
David Cernat f7b5e5e638 Ignore packets from server that try to move LocalPlayer to invalid cells 8 years ago
Koncord 56959ebfda Implement magic 8 years ago
Koncord 37e9cafbf7 Add new API function: SetConsoleAllow
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player

The console is allowed by default
8 years ago
Koncord adb49b7c7d Add New GUI dialog: ListBox
Example:

local GUI_LISTBOX = 42

function OnPlayerSendMessage(pid, message)
    if message == "/lb" then
        local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
        local label = "Lorem ipsum dolor sit amet"
        tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
    end
end

function OnGUIAction(pid, idGui, data)
    if idGui == GUI_LISTBOX then
        print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
    end
end
8 years ago
Koncord c27351c19e Implement inventory functions
AddItem, RemoveItem, GetItemName, GetItemCount, GetItemHealth, GetInventorySize SendInventory
Example:
```lua
tes3mp.AddItem(pid, "glass dagger", 1, 50)
tes3mp.AddItem(pid, "glass dagger", 1, -1)
tes3mp.SendInventory(pid)
tes3mp.RemoveItem(pid, "glass dagger", 1)
tes3mp.SendInventory(pid)
local invSize = tes3mp.GetInventorySize(pid) - 1
for i = 0, invSize do
    print(("%s %d %d"):format(tes3mp.GetItemName(pid, i), tes3mp.GetItemCount(pid, i), tes3mp.GetItemHealth(pid, i)))
end
```
8 years ago
David Cernat bc0aa86bcf Make variable names more consistent and easier to understand 8 years ago
Koncord cf1a0113a1 Time API 8 years ago
Koncord 3405e36ce4 Woops part 2 8 years ago
David Cernat 8eda381016 Make formatting consistent, part 2 9 years ago
Koncord 9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
9 years ago
Koncord 1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
9 years ago