diff --git a/.gitattributes b/.gitattributes index 2b03890d67..d6d5634e45 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,4 +5,3 @@ *.ogg filter=lfs diff=lfs merge=lfs -text *.ico filter=lfs diff=lfs merge=lfs -text assets/world/map/*.bin filter=lfs diff=lfs merge=lfs -text -assets/voxygen/font/FangZhengHeiTiJianTi.ttf filter=lfs diff=lfs merge=lfs -text diff --git a/CHANGELOG.md b/CHANGELOG.md index fc011fbb4e..1dbacfb7c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +### Changed + +### Removed + +## [0.7.0] - 2020-08-15 + +### Added + - Display item name over loot/dropped items - Added Lottery system for loot - Added context-sensitive crosshair @@ -356,7 +364,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 _0.1.0 was part of the legacy engine_ -[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.6.0&to=master +[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.7.0&to=master +[0.7.0]: https://gitlab.com/veloren/veloren/compare?from=v0.6.0&to=v0.7.0 [0.6.0]: https://gitlab.com/veloren/veloren/compare?from=v0.5.0&to=v0.6.0 [0.5.0]: https://gitlab.com/veloren/veloren/compare?from=v0.4.0&to=v0.5.0 [0.4.0]: https://gitlab.com/veloren/veloren/compare?from=v0.3.0&to=v0.4.0 diff --git a/Cargo.lock b/Cargo.lock index 2570b6cd1e..2bc0379317 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4672,7 +4672,7 @@ dependencies = [ [[package]] name = "veloren-chat-cli" -version = "0.6.0" +version = "0.7.0" dependencies = [ "tracing", "tracing-subscriber", @@ -4682,7 +4682,7 @@ dependencies = [ [[package]] name = "veloren-client" -version = "0.6.0" +version = "0.7.0" dependencies = [ "authc", "byteorder 1.3.4", @@ -4704,7 +4704,7 @@ dependencies = [ [[package]] name = "veloren-common" -version = "0.6.0" +version = "0.7.0" dependencies = [ "arraygen", "authc", @@ -4735,7 +4735,7 @@ dependencies = [ [[package]] name = "veloren-server" -version = "0.6.0" +version = "0.7.0" dependencies = [ "authc", "chrono", @@ -4769,7 +4769,7 @@ dependencies = [ [[package]] name = "veloren-server-cli" -version = "0.6.0" +version = "0.7.0" dependencies = [ "tracing", "tracing-subscriber", @@ -4779,7 +4779,7 @@ dependencies = [ [[package]] name = "veloren-voxygen" -version = "0.6.0" +version = "0.7.0" dependencies = [ "backtrace", "bincode", @@ -4835,7 +4835,7 @@ dependencies = [ [[package]] name = "veloren-voxygen-anim" -version = "0.6.0" +version = "0.7.0" dependencies = [ "find_folder", "lazy_static", @@ -4848,7 +4848,7 @@ dependencies = [ [[package]] name = "veloren-world" -version = "0.6.0" +version = "0.7.0" dependencies = [ "arr_macro", "bincode", diff --git a/assets/voxygen/font/FangZhengHeiTiJianTi.ttf b/assets/voxygen/font/FangZhengHeiTiJianTi.ttf deleted file mode 100644 index 3925157244..0000000000 --- a/assets/voxygen/font/FangZhengHeiTiJianTi.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8167f5ad881403c0f67842ec42acef9849a7627e5808978295cfb2ae232fded9 -size 2990476 diff --git a/assets/voxygen/i18n/tr_TR.ron b/assets/voxygen/i18n/tr_TR.ron index 87da2a0ecb..a0e3a6ab0c 100644 --- a/assets/voxygen/i18n/tr_TR.ron +++ b/assets/voxygen/i18n/tr_TR.ron @@ -65,11 +65,14 @@ VoxygenLocalization( "common.create": "Oluştur", "common.okay": "Tamam", "common.accept": "Kabul Et", + "common.decline": "Reddet", "common.disclaimer": "Uyarı", "common.cancel": "İptal Et", "common.none": "Yok", "common.error": "Hata", "common.fatal_error": "Ölümcül hata", + "common.you": "Sen", + "common.automatic": "Otomatik", // Message when connection to the server is lost "common.connection_lost": r#"Bağlantı koptu! @@ -302,23 +305,30 @@ edince kapat"#, "hud.settings.fluid_rendering_mode.cheap": "Basit", "hud.settings.fluid_rendering_mode.shiny": "Güzel", "hud.settings.cloud_rendering_mode.regular": "Normal", + "hud.settings.particles": "Partiküller", + "hud.settings.resolution": "Çözünürlük", + "hud.settings.bit_depth": "Bit Derinliği", + "hud.settings.refresh_rate": "Yenileme Hızı", "hud.settings.fullscreen": "Tam ekran", "hud.settings.save_window_size": "Pencere boyutunu kaydet", - "hud.settings.awaitingkey": "Bir tuşa bas...", - "hud.settings.unbound": "Atanmamış", - "hud.settings.reset_keybinds": "Varsayılana döndür", - "hud.settings.music_volume": "Müzik Sesi", "hud.settings.sound_effect_volume": "Efekt Sesi", "hud.settings.audio_device": "Ses Aygıtı", - "hud.social": "Sosyal", - "hud.social.online": "Çevrimiçi", + "hud.settings.awaitingkey": "Bir tuşa bas...", + "hud.settings.unbound": "Atanmamış", + "hud.settings.reset_keybinds": "Varsayılana döndür", + + "hud.social": "Diğer Oyuncular", + "hud.social.online": "Çevrimiçi:", "hud.social.friends": "Arkadaşlar", "hud.social.not_yet_available": "Şu anda kullanılabilir değil", "hud.social.faction": "Klan", "hud.social.play_online_fmt": "{nb_player} oyuncu çevrimiçi", + "hud.social.name": "İsim", + "hud.social.level": "Seviye", + "hud.social.zone": "Bölge", "hud.crafting": "Üretim", "hud.crafting.recipes": "Tarifler", @@ -326,6 +336,19 @@ edince kapat"#, "hud.crafting.craft": "Üret", "hud.crafting.tool_cata": "Gerektiriyor:", + "hud.group": "Grup", + "hud.group.invite_to_join": "{name} seni grubuna davet etti!", + "hud.group.invite": "Davet Et", + "hud.group.kick": "Gruptan At", + "hud.group.assign_leader": "Lider Seç", + "hud.group.leave": "Gruptan Ayrıl", + "hud.group.dead" : "Ölü", + "hud.group.out_of_range": "Erişim dışı", + "hud.group.add_friend": "Arkadaşlara Ekle", + "hud.group.link_group": "Grupları Bağla", + "hud.group.in_menu": "Menüde", + "hud.group.members": "Grup Üyeleri", + "hud.spell": "Büyü", "hud.free_look_indicator": "Serbest bakış açık", @@ -368,7 +391,7 @@ edince kapat"#, "gameinput.wallleap": "Duvar Sıçrayışı", "gameinput.togglelantern": "Feneri yak/söndür", "gameinput.mount": "Bin", - "gameinput.enter": "Sohbet", + "gameinput.chat": "Sohbet", "gameinput.command": "Komut", "gameinput.escape": "Oyunu Duraklat", "gameinput.map": "Harita", @@ -384,6 +407,13 @@ edince kapat"#, "gameinput.freelook": "Serbest Bakış", "gameinput.autowalk": "Otomatik Yürüyüş", "gameinput.dance": "Dans et", + "gameinput.select": "Varlık Seç", + "gameinput.acceptgroupinvite": "Grup Davetini Kabul Et", + "gameinput.declinegroupinvite": "Grup Davetini Reddet", + "gameinput.crafting": "Üretim", + "gameinput.sneak": "Eğil", + "gameinput.swimdown": "Aşağı Dal", + "gameinput.swimup": "Yüzeye çık", /// End GameInput section @@ -456,6 +486,8 @@ Koruma "'L-Shift'e basarak Planörünü aç ve gökyüzünü fethet.", "Veloren hala Pre-Alpha'da. Onu geliştirmek için her gün elimizden geleni yapıyoruz!", "Geliştirme Takımına katılmak istiyorsan veya sadece sohbet etmek istiyorsan Discord sunucumuza katıl.", + "Can barında canı sayı olarak görmek istiyorsan, bunu ayarlardan aktifleştirebilirsin.", + "Niteliklerini görmek için envanterindeki 'Nitelikler' düğmesine tıklayabilirsin.", ], "npc.speech.villager_under_attack": [ "Saldırı altındayım, yardım edin!", diff --git a/assets/voxygen/i18n/zh_CN.ron b/assets/voxygen/i18n/zh_CN.ron deleted file mode 100644 index f369cbf58f..0000000000 --- a/assets/voxygen/i18n/zh_CN.ron +++ /dev/null @@ -1,518 +0,0 @@ -/// Localization for "global" Simplified Chinese -VoxygenLocalization( - metadata: ( - language_name: "Simplified Chinese", - language_identifier: "zh_CN", - ), - convert_utf8_to_ascii: false, - fonts: { - "opensans": Font ( - asset_key: "voxygen.font.FangZhengHeiTiJianTi", - scale_ratio: 0.75, - ), - "metamorph": Font ( - asset_key: "voxygen.font.FangZhengHeiTiJianTi", - scale_ratio: 0.75, - ), - "alkhemi": Font ( - asset_key: "voxygen.font.FangZhengHeiTiJianTi", - scale_ratio: 0.75, - ), - "wizard": Font ( - asset_key: "voxygen.font.FangZhengHeiTiJianTi", - scale_ratio: 0.75, - ), - "cyri": Font ( - asset_key: "voxygen.font.FangZhengHeiTiJianTi", - scale_ratio: 0.75, - ), - }, - string_map: { - /// Start Common section - // Texts used in multiple locations with the same formatting - "common.username": "用户名", - "common.singleplayer": "单人游戏", - "common.multiplayer": "多人游戏", - "common.servers": "服务器", - "common.quit": "退出", - "common.settings": "设置", - "common.languages": "语言", - "common.interface": "界面", - "common.gameplay": "游戏", - "common.controls": "控制", - "common.video": "图像", - "common.sound": "声音", - "common.resume": "继续", - "common.characters": "人物", - "common.close": "关闭", - "common.yes": "是", - "common.no": "否", - "common.back": "返回", - "common.create": "创建", - "common.okay": "好", - "common.accept": "同意", - "common.disclaimer": "免责声明", - "common.cancel": "返回", - "common.none": "无", - "common.error": "错误", - "common.fatal_error": "致命错误", - - // Message when connection to the server is lost - "common.connection_lost": r#"连接丢失! -服务器有没有重启? -客户端是否更新?"#, - - - "common.species.orc": "兽人", - "common.species.human": "人类", - "common.species.dwarf": "矮人", - "common.species.elf": "精灵", - "common.species.undead": "不死族", - "common.species.danari": "丹那利", - - "common.weapons.axe": "斧", - "common.weapons.sword": "剑", - "common.weapons.staff": "法杖", - "common.weapons.bow": "弓", - "common.weapons.hammer": "锤", - /// End Common section - - - /// Start Main screen section - "main.connecting": "连接中", - "main.creating_world": "生成世界中", - "main.tip": "小贴士:", - - // Welcome notice that appears the first time Veloren is started - "main.notice": r#"欢迎加入 Veloren Alpha版 ! - -在您开始享受游戏之前,请注意一些事情: - -- 这是非常前期的 alpha 版本,您会遇到不少错误、未完成的游戏模式、未完善的游戏机制以及缺失的功能。 - -- 如果有建设性的意见反馈或是错误汇报,可以通过 Reddit、GitLab 或者我们的 Discord 服务器联系我们。 - -- Veloren 的授权条款是GPL3. 意思是你可以免费游玩,修改并重新发布游戏(衍生内容也必须是GPL3) - -- Veloren 是一个非营利的社区项目, 参与该项目的都是志愿者. -如果你想在项目中看到你的身影,欢迎加入开发或艺术团队! - -感谢您抽出宝贵的时间阅读此通知,希望您喜欢这款游戏! - -~ Veloren 的开发团队"#, - - // Login process description - "main.login_process": r#"有关登录的信息: - -请注意,您现在需要一个账户,在启用身份验证的服务器上游玩。 - -你可以通过下面的网站创建用户. - -https://account.veloren.net."#, - "main.login.server_not_found": "找不到服务器", - "main.login.authentication_error": "服务器验证错误", - "main.login.server_full": "服务器已满", - "main.login.untrusted_auth_server": "认证服务器不可信", - "main.login.outdated_client_or_server": "服务器与客户端可能版本不兼容,请检查更新.", - "main.login.timeout": "超时: 服务器无法及时响应.", - "main.login.server_shut_down": "服务器已关闭", - "main.login.already_logged_in": "您已登入服务器.", - "main.login.network_error": "网络错误", - "main.login.failed_sending_request": "认证服务器请求失败", - "main.login.invalid_character": "选择的人物无效", - "main.login.client_crashed": "客户端崩溃", - "main.login.not_on_whitelist": "您需要在管理员的白名单里才可以加入", - - /// End Main screen section - - - /// Start HUD Section - "hud.do_not_show_on_startup": "开始时不显示这个", - "hud.show_tips": "显示提示", - "hud.quests": "任务", - "hud.you_died": "你死了", - "hud.waypoint_saved": "标记已保存", - - "hud.press_key_to_show_keybindings_fmt": "按下 {key} 显示快捷键设置", - "hud.press_key_to_show_debug_info_fmt": "按下 {key} 显示调试信息", - "hud.press_key_to_toggle_keybindings_fmt": "按下 {key} 切换显示快捷键设置", - "hud.press_key_to_toggle_debug_info_fmt": "按下 {key} 切换显示调试信息", - - // Chat outputs - "hud.chat.online_msg": "[{name}] 正在线上.", - "hud.chat.offline_msg": "{name} 下线了.", - "hud.chat.loot_msg": "你捡起了 [{item}]", - "hud.chat.loot_fail": "你的背包已满!", - "hud.chat.goodbye": "再见!", - "hud.chat.connection_lost": "连接已断开. {time} 秒内将被踢出.", - - // SCT outputs - "hud.sct.experience": "{amount} 经验", - "hud.sct.block": "阻拦", - - // Respawn message - "hud.press_key_to_respawn": r#"按下 {key} 您可以在上一个复活点重生."#, - - // Welcome message - "hud.welcome": r#"欢迎来到 Veloren Alpha版! - - -开始前的一些提示: - - -按 F1 查看可用的键位信息. - -输入 /help 在聊天栏以查看聊天命令 - - -世界上会随机生成箱子以及其他物品! - -右键单击以收集它们. - -按 B 打开库存可以看到您在这些箱子中获取到的物品. - -双击背包中的物品以使用或装备它们. - -单击并坨拽到背包外可以将物品移除 - - -Veloren 的夜晚会变得非常的黑. - -按下 G 可以点亮你的灯笼. - - -按下 Tab 可以释放光标用于关闭窗口! - - -祝你在Veloren世界玩的愉快."#, - -"hud.temp_quest_headline": r#"请帮助我们,旅行者!"#, -"hud.temp_quest_text": r#"在我们宁静的城镇周围 -遍布地下城,里面充满了邪恶的信徒! - - -组织人手, 带上食物 -击败他们邪恶的领袖和同伙. - - -或许你可以获得注入了 -他们魔力的物品?"#, - - - - // Inventory - "hud.bag.inventory": "{playername} 的物品栏", - "hud.bag.stats_title": "{playername} 的状态", - "hud.bag.exp": "经验", - "hud.bag.armor": "护甲", - "hud.bag.stats": "状态", - "hud.bag.head": "头部", - "hud.bag.neck": "颈部", - "hud.bag.tabard": "披风", - "hud.bag.shoulders": "肩膀", - "hud.bag.chest": "胸部", - "hud.bag.hands": "手部", - "hud.bag.lantern": "灯笼", - "hud.bag.belt": "腰带", - "hud.bag.ring": "戒指", - "hud.bag.back": "背部", - "hud.bag.legs": "腿部", - "hud.bag.feet": "脚部", - "hud.bag.mainhand": "主手", - "hud.bag.offhand": "副手", - - - // Map and Questlog - "hud.map.map_title": "地图", - "hud.map.qlog_title": "任务", - - // Settings - "hud.settings.general": "一般", - "hud.settings.none": "无", - "hud.settings.press_behavior.toggle": "切换", - "hud.settings.press_behavior.hold": "按住", - "hud.settings.help_window": "帮助", - "hud.settings.debug_info": "调试信息", - "hud.settings.tips_on_startup": "开始时的提示信息", - "hud.settings.ui_scale": "ui缩放", - "hud.settings.relative_scaling": "相对缩放", - "hud.settings.custom_scaling": "自定义缩放", - "hud.settings.crosshair": "准星", - "hud.settings.transparency": "透明度", - "hud.settings.hotbar": "快捷键", - "hud.settings.toggle_shortcuts": "显示快捷键", - "hud.settings.toggle_bar_experience": "显示经验条", - "hud.settings.scrolling_combat_text": "战斗信息", - "hud.settings.single_damage_number": "单一伤害", - "hud.settings.cumulated_damage": "累计伤害", - "hud.settings.incoming_damage": "所受伤害", - "hud.settings.cumulated_incoming_damage": "累计所受伤害", - "hud.settings.speech_bubble": "对话框", - "hud.settings.speech_bubble_dark_mode": "对话框启用暗色模式", - "hud.settings.speech_bubble_icon": "对话框显示图标", - "hud.settings.energybar_numbers": "能量条", - "hud.settings.values": "数字", - "hud.settings.percentages": "百分比", - "hud.settings.chat": "聊天", - "hud.settings.background_transparency": "背景透明度", - "hud.settings.chat_character_name": "聊天显示人物名称", - "hud.settings.loading_tips": "加载过程中显示贴士", - - "hud.settings.pan_sensitivity": "鼠标灵敏度", - "hud.settings.zoom_sensitivity": "缩放灵敏度", - "hud.settings.invert_scroll_zoom": "反转滚动缩放", - "hud.settings.invert_mouse_y_axis": "反转鼠标Y轴", - "hud.settings.enable_mouse_smoothing": "平滑相机", - "hud.settings.free_look_behavior": "自由视角行为", - "hud.settings.auto_walk_behavior": "自动行走行为", - "hud.settings.stop_auto_walk_on_input": "停止自动行走", - - "hud.settings.view_distance": "视野距离", - "hud.settings.sprites_view_distance": "精灵视距", - "hud.settings.figures_view_distance": "实体视距", - "hud.settings.maximum_fps": "最高FPS", - "hud.settings.fov": "视野", - "hud.settings.gamma": "Gamma", - "hud.settings.antialiasing_mode": "抗锯齿模式", - "hud.settings.cloud_rendering_mode": "云朵渲染模式", - "hud.settings.fluid_rendering_mode": "流体渲染模式", - "hud.settings.fluid_rendering_mode.cheap": "简单", - "hud.settings.fluid_rendering_mode.shiny": "闪烁", - "hud.settings.cloud_rendering_mode.regular": "一般", - "hud.settings.fullscreen": "全屏", - "hud.settings.save_window_size": "保存窗口大小", - - "hud.settings.music_volume": "音乐音量", - "hud.settings.sound_effect_volume": "音效音量", - "hud.settings.audio_device": "声音设备", - - "hud.settings.awaitingkey": "等待按键...", - "hud.settings.unbound": "无", - "hud.settings.reset_keybinds": "重置快捷键", - - "hud.social": "社交", - "hud.social.online": "线上", - "hud.social.friends": "好友", - "hud.social.not_yet_available": "尚不可用", - "hud.social.faction": "派别", - "hud.social.play_online_fmt": "{nb_player} 玩家在线", - - "hud.crafting": "制作中", - "hud.crafting.recipes": "食谱", - "hud.crafting.ingredients": "配方:", - "hud.crafting.craft": "制作", - "hud.crafting.tool_cata": "需要:", - - "hud.spell": "法术", - - "hud.free_look_indicator": "自由视角", - "hud.auto_walk_indicator": "自动行走", - - /// End HUD section - - - /// Start GameInput section - - "gameinput.primary": "普通攻击", - "gameinput.secondary": "特殊攻击/格挡/瞄准", - "gameinput.slot1": "技能栏 1", - "gameinput.slot2": "技能栏 2", - "gameinput.slot3": "技能栏 3", - "gameinput.slot4": "技能栏 4", - "gameinput.slot5": "技能栏 5", - "gameinput.slot6": "技能栏 6", - "gameinput.slot7": "技能栏 7", - "gameinput.slot8": "技能栏 8", - "gameinput.slot9": "技能栏 9", - "gameinput.slot10": "技能栏 10", - "gameinput.swaploadout": "缓存加载", - "gameinput.togglecursor": "切换光标", - "gameinput.help": "切换帮助窗口", - "gameinput.toggleinterface": "切换显示界面", - "gameinput.toggledebug": "切换显示FPS和调试信息", - "gameinput.screenshot": "截图", - "gameinput.toggleingameui": "切换显示名称", - "gameinput.fullscreen": "切换显示全屏", - "gameinput.moveforward": "前进", - "gameinput.moveleft": "向左移动", - "gameinput.moveright": "向右移动", - "gameinput.moveback": "后退", - "gameinput.jump": "跳跃", - "gameinput.glide": "滑翔伞", - "gameinput.roll": "翻滚", - "gameinput.climb": "攀爬", - "gameinput.climbdown": "向下攀爬", - "gameinput.wallleap": "越过障碍", - "gameinput.togglelantern": "切换显示灯笼", - "gameinput.mount": "安装", - "gameinput.enter": "进入", - "gameinput.command": "指令", - "gameinput.escape": "逃脱", - "gameinput.map": "地图", - "gameinput.bag": "背包", - "gameinput.social": "社交", - "gameinput.sit": "坐下", - "gameinput.spellbook": "法术", - "gameinput.settings": "设置", - "gameinput.respawn": "重生", - "gameinput.charge": "冲锋", - "gameinput.togglewield": "切换手持", - "gameinput.interact": "相互影响", - "gameinput.freelook": "自由视角", - "gameinput.autowalk": "自动行走", - "gameinput.dance": "跳舞", - - /// End GameInput section - - - /// Start chracter selection section - "char_selection.loading_characters": "加载人物中...", - "char_selection.delete_permanently": "确定永久删除此角色?", - "char_selection.deleting_character": "删除人物中...", - "char_selection.change_server": "切换服务器", - "char_selection.enter_world": "进入世界", - "char_selection.logout": "登出", - "char_selection.create_new_charater": "创建新的角色", - "char_selection.creating_character": "创建角色中...", - "char_selection.character_creation": "人物创作", - - "char_selection.human_default": "普通人类", - "char_selection.level_fmt": "等级 {level_nb}", - "char_selection.uncanny_valley": "荒野", - "char_selection.plains_of_uncertainty": "不确定的平原", - "char_selection.beard": "胡须", - "char_selection.hair_style": "发型", - "char_selection.hair_color": "发色", - "char_selection.eye_color": "眼睛颜色", - "char_selection.skin": "肤色", - "char_selection.eyeshape": "眼睛细节", - "char_selection.accessories": "配饰", - "char_selection.create_info_name": "你的人物需要一个名字!", - - /// End chracter selection section - - - /// Start character window section - "character_window.character_name": "人物名称", - // Character stats - "character_window.character_stats": r#"耐力 - -生命 - -意志 - -护甲 -"#, - /// End character window section - - - /// Start Escape Menu Section - "esc_menu.logout": "登出", - "esc_menu.quit_game": "退出游戏", - /// End Escape Menu Section - - }, - - - vector_map: { - "loading.tips": [ - "按下 'G' 来点亮灯笼.", - "按下 'F1' 查看所有默认快捷键.", - "你可以通过 /say 或 /s 只与您周围的玩家聊天.", - "你可以通过 /region 或 /r 只与您数百个方块范围内的玩家聊天.", - "你可以通过 /tell 玩家名称 发送私人消息.", - "相同等级的NPC可能具有不同的难度.", - "注意地面上的食物,箱子以及其他战利品!", - "包里全是食物? 尝试使用它们制作更好的食物!", - "不知道做什么? 地图上褐色斑点区域有地牢!", - "不要忘记调整图形设置. 按 'N' 打开设置.", - "和其他人一起玩! 按 'O' 查看在线人员.", - "生命值下面有骷髅标识的NPC比您强大的多.", - "按下 'J' 跳舞!", - "按下 'LShift' 可以打开滑翔翼并立刻起飞", - "Veloren 处于Alpha阶段. 我们每天都在努力改善它!", - "如果您想加入开发团队或与我们聊天,请加入我们的Discord服务器.", - ], - "npc.speech.villager_under_attack": [ - "救命!我受到攻击!", - "救命!我受到攻击!", - "哎哟! 我受到攻击!", - "哎哟! 我受到攻击!我需要帮助!", - "救命!我受到攻击!", - "唉哟! 我受到攻击!我需要帮助!", - "唉哟! 我受到攻击!我需要帮助!", - "救命!", - "救命! 救命!", - "救命! 救命! 救命!", - "我受到攻击!", - "啊啊啊啊! 我受到攻击!", - "啊啊啊啊! 我受到攻击! 救命!", - "救命! 我们受到攻击!", - "救命! 有杀人犯!", - "救命! 这里有一个杀人犯在逃跑!", - "救命! 他们想杀我!", - "守卫, 我受到攻击!", - "守卫! 我受到攻击!", - "我受到攻击! 守卫!", - "救命! 守卫! 我受到攻击!", - "守卫! 快来!", - "守卫! 守卫!", - "守卫! 这里有一个恶棍在攻击我!", - "守卫, 快杀死这个恶棍!", - "守卫! 这里有一个杀人犯!", - "守卫! 帮帮我!", - "你别想逃了! 守卫!", - "你是恶魔!", - "救命!", - "救救我!", - "哎哟! 守卫! 救命!", - "他们会来找我的!", - "救命! 救命! 我被压迫了!", - "啊, now we see the violence inherent in the system.", - "Tis but a scratch!", - "停下来!", - "我曾经对你做过什么?!", - "不要攻击我了!", - "嘿! 注意你指向的东西!", - "可恶的家伙, 你们一起去死吧!", - "停下来! 然后滚蛋!", - "你现在让我很生气!", - "噢! 你以为你是谁?!", - "我会让你听到的!", - "请停一下! 我没有任何值钱的东西!", - "I'll set my brother on you, he's bigger than I am!", - "不, 我要告诉妈妈!", - "诅咒你!", - "请不要这么做.", - "那不是很好!", - "Your weapon works, you can put it away now!", - "绕了我吧!", - "拜托了,我还有家庭!", - "我还小就要死了!", - "我们可以谈谈这个吗?", - "暴力永远不是解决问题的方式!", - "今天真是非常糟糕的一天...", - "喂, 别打我!", - "诶!", - "真没礼貌!", - "拜托, 求求你了!", - "A pox upon you!", - "这不好玩.", - "你怎么敢?!", - "你会为此复出代价的!", - "坚持下去你会后悔的!", - "不要让我伤害你!", - "一定有误会!", - "你不需要这样做!", - "再见吧, 恶魔!", - "真的好疼!", - "为什么要这么做?", - "砸瓦鲁多!", - "You must have me confused with someone else!", - "I don't deserve this!", - "请不要再这样做.", - "守卫, 把这个怪物扔进湖里!", - "I'll set my tarrasque on you!", - ], - } -) diff --git a/assets/voxygen/voxel/biped_large_center_manifest.ron b/assets/voxygen/voxel/biped_large_center_manifest.ron index c1a154eab9..ff6e86fb2c 100644 --- a/assets/voxygen/voxel/biped_large_center_manifest.ron +++ b/assets/voxygen/voxel/biped_large_center_manifest.ron @@ -1,15 +1,15 @@ ({ (Ogre, Male): ( head: ( - offset: (-8.0, -5.0, -6.0), + offset: (-8.0, -6.0, -6.5), center: ("npc.ogre.male.head"), ), torso_upper: ( - offset: (-8.0, -4.5, -5.0), + offset: (-8.0, -6.0, -8.0), center: ("npc.ogre.male.torso_upper"), ), torso_lower: ( - offset: (-5.0, -4.5, -9.0), + offset: (-6.0, -5.5, -10.0), center: ("npc.ogre.male.torso_lower"), ), jaw: ( @@ -25,22 +25,22 @@ center: ("armor.empty"), ), main: ( - offset: (-8.0, -4.5, -5.0), - center: ("armor.empty"), + offset: (-5.0, -5.5, -5.0), + center: ("npc.ogre.male.hammer"), ) ), (Ogre, Female): ( head: ( - offset: (-8.0, -5.0, -6.0), - center: ("npc.ogre.male.head"), + offset: (-9.0, -5.5, -6.0), + center: ("npc.ogre.female..head"), ), torso_upper: ( - offset: (-8.0, -4.5, -5.0), - center: ("npc.ogre.male.torso_upper"), + offset: (-6.0, -5.0, -6.0), + center: ("npc.ogre.female.torso_upper"), ), torso_lower: ( - offset: (-5.0, -4.5, -9.0), - center: ("npc.ogre.male.torso_lower"), + offset: (-5.0, -4.5, -6.0), + center: ("npc.ogre.female.torso_lower"), ), jaw: ( offset: (0.0, 0.0, 0.0), @@ -55,8 +55,8 @@ center: ("armor.empty"), ), main: ( - offset: (-8.0, -4.5, -5.0), - center: ("armor.empty"), + offset: (-2.5, -5.5, -5.0), + center: ("npc.ogre.female.main"), ) ), (Cyclops, Male): ( @@ -116,7 +116,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - center: ("npc.cyclops.male.hammer"), + center: ("npc.cyclops.female.hammer"), ) ), (Wendigo, Male): ( @@ -145,8 +145,8 @@ center: ("armor.empty"), ), main: ( - offset: (-8.0, -4.5, -5.0), - center: ("armor.empty"), + offset: (-5.0, -6.5, -4.0), + center: ("npc.wendigo.male.hammer"), ) ), (Wendigo, Female): ( @@ -175,8 +175,8 @@ center: ("armor.empty"), ), main: ( - offset: (-8.0, -4.5, -5.0), - center: ("armor.empty"), + offset: (-5.0, -6.5, -4.0), + center: ("npc.wendigo.male.hammer"), ) ), (Troll, Male): ( @@ -205,8 +205,8 @@ center: ("armor.empty"), ), main: ( - offset: (-8.0, -4.5, -5.0), - center: ("armor.empty"), + offset: (-5.0, -6.5, -4.0), + center: ("npc.troll.male.hammer"), ) ), (Troll, Female): ( @@ -235,8 +235,8 @@ center: ("armor.empty"), ), main: ( - offset: (-8.0, -4.5, -5.0), - center: ("armor.empty"), + offset: (-5.0, -6.5, -4.0), + center: ("npc.troll.female.hammer"), ) ), @@ -267,8 +267,8 @@ center: ("armor.empty"), ), main: ( - offset: (-1.5, -9.0, -10.0), - center: ("npc.dullahan.male.sword"), + offset: (-5.0, -6.5, -4.0), + center: ("npc.cyclops.male.hammer"), ) ), @@ -298,8 +298,8 @@ center: ("armor.empty"), ), main: ( - offset: (-1.5, -9.0, -10.0), - center: ("npc.dullahan.male.sword"), + offset: (-5.0, -6.5, -4.0), + center: ("npc.cyclops.male.hammer"), ) ), }) diff --git a/assets/voxygen/voxel/biped_large_lateral_manifest.ron b/assets/voxygen/voxel/biped_large_lateral_manifest.ron index 2393b04181..92ed8119cd 100644 --- a/assets/voxygen/voxel/biped_large_lateral_manifest.ron +++ b/assets/voxygen/voxel/biped_large_lateral_manifest.ron @@ -1,70 +1,70 @@ ({ (Ogre, Male): ( shoulder_l: ( - offset: (-4.0, -5.5, -4.0), - lateral: ("armor.empty"), + offset: (-6.0, -3.5, -4.0), + lateral: ("npc.ogre.male.shoulder_l"), ), shoulder_r: ( - offset: (-4.0, -5.5, -4.0), + offset: (-6.0, -4.5, -4.0), lateral: ("npc.ogre.male.shoulder_r"), ), hand_l: ( - offset: (-2.5, -2.5, -11.0), + offset: (-5.5, -3.5, -15.0), lateral: ("npc.ogre.male.hand_l"), ), hand_r: ( - offset: (-2.5, -2.5, -11.0), + offset: (-5.5, -3.5, -15.0), lateral: ("npc.ogre.male.hand_r"), ), leg_l: ( - offset: (-6.0, -3.5, -7.0), + offset: (-6.0, -3.5, -8.0), lateral: ("npc.ogre.male.leg_l"), ), leg_r: ( - offset: (0.0, -3.5, -7.0), + offset: (0.0, -3.5, -8.0), lateral: ("npc.ogre.male.leg_r"), ), foot_l: ( - offset: (-3.0, -5.0, -2.5), + offset: (-3.0, -5.0, -8.0), lateral: ("npc.ogre.male.foot_l"), ), foot_r: ( - offset: (-3.0, -5.0, -2.5), + offset: (-3.0, -5.5, -8.0), lateral: ("npc.ogre.male.foot_r"), ), ), (Ogre, Female): ( shoulder_l: ( - offset: (-4.0, -5.5, -4.0), - lateral: ("armor.empty"), + offset: (-3.0, -3.0, -3.5), + lateral: ("npc.ogre.female.shoulder_l"), ), shoulder_r: ( - offset: (-4.0, -5.5, -4.0), - lateral: ("npc.ogre.male.shoulder_r"), + offset: (-3.0, -3.0, -3.5), + lateral: ("npc.ogre.female.shoulder_r"), ), hand_l: ( - offset: (-2.5, -2.5, -11.0), - lateral: ("npc.ogre.male.hand_l"), + offset: (-3.0, -3.0, -8.0), + lateral: ("npc.ogre.female.hand_l"), ), hand_r: ( - offset: (-2.5, -2.5, -11.0), - lateral: ("npc.ogre.male.hand_r"), + offset: (-3.0, -3.0, -8.0), + lateral: ("npc.ogre.female.hand_r"), ), leg_l: ( - offset: (-6.0, -3.5, -7.0), - lateral: ("npc.ogre.male.leg_l"), + offset: (-7.0, -3.5, -11.0), + lateral: ("npc.ogre.female.leg_l"), ), leg_r: ( - offset: (0.0, -3.5, -7.0), - lateral: ("npc.ogre.male.leg_r"), + offset: (0.0, -3.5, -11.0), + lateral: ("npc.ogre.female.leg_r"), ), foot_l: ( - offset: (-3.0, -5.0, -2.5), - lateral: ("npc.ogre.male.foot_l"), + offset: (-3.0, -5.0, -8.0), + lateral: ("npc.ogre.female.foot_l"), ), foot_r: ( - offset: (-3.0, -5.0, -2.5), - lateral: ("npc.ogre.male.foot_r"), + offset: (-3.0, -5.0, -8.0), + lateral: ("npc.ogre.female.foot_r"), ), ), (Cyclops, Male): ( diff --git a/assets/voxygen/voxel/npc/cyclops/female/hammer.vox b/assets/voxygen/voxel/npc/cyclops/female/hammer.vox new file mode 100644 index 0000000000..405c9ac11b --- /dev/null +++ b/assets/voxygen/voxel/npc/cyclops/female/hammer.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26ecd87754d078f4a5097476b3f64400b3aa8515507986faf484c79075ef5d8f +size 3580 diff --git a/assets/voxygen/voxel/npc/ogre/female/foot_l.vox b/assets/voxygen/voxel/npc/ogre/female/foot_l.vox new file mode 100644 index 0000000000..9a971e2f33 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/foot_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f272f92700bdffb16ccd9a308b47551dc4766ed82f9be5e03485405df8944e6 +size 2260 diff --git a/assets/voxygen/voxel/npc/ogre/female/foot_r.vox b/assets/voxygen/voxel/npc/ogre/female/foot_r.vox new file mode 100644 index 0000000000..9a971e2f33 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/foot_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f272f92700bdffb16ccd9a308b47551dc4766ed82f9be5e03485405df8944e6 +size 2260 diff --git a/assets/voxygen/voxel/npc/ogre/female/hand_l.vox b/assets/voxygen/voxel/npc/ogre/female/hand_l.vox new file mode 100644 index 0000000000..ed701b4b96 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/hand_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d60c175ddeba701402a32e14e39bf91cc7053b6c135cf1d2db7544b73bebf58 +size 1612 diff --git a/assets/voxygen/voxel/npc/ogre/female/hand_r.vox b/assets/voxygen/voxel/npc/ogre/female/hand_r.vox new file mode 100644 index 0000000000..8c643569db --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/hand_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38ff97d6d987d10089790ec348a0736d06bbb5a1d7dd5bfc2e4a4d1ac1112953 +size 1612 diff --git a/assets/voxygen/voxel/npc/ogre/female/head.vox b/assets/voxygen/voxel/npc/ogre/female/head.vox new file mode 100644 index 0000000000..3ccb3f74c5 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/head.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1fda670f40f9d9086bc1be86270cae31302940d341cc5615e2f65abdc6249af +size 4876 diff --git a/assets/voxygen/voxel/npc/ogre/female/leg_l.vox b/assets/voxygen/voxel/npc/ogre/female/leg_l.vox new file mode 100644 index 0000000000..e00c0487f2 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/leg_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06560346cedad976911a60bde3d15097273c704ec969f82ff384f23c8099444b +size 2896 diff --git a/assets/voxygen/voxel/npc/ogre/female/leg_r.vox b/assets/voxygen/voxel/npc/ogre/female/leg_r.vox new file mode 100644 index 0000000000..4814d6912d --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/leg_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:434cfea3091be1ab525c546bb1706e81946d58cf37d881df2fc55259f4ad0337 +size 2896 diff --git a/assets/voxygen/voxel/npc/ogre/female/main.vox b/assets/voxygen/voxel/npc/ogre/female/main.vox new file mode 100644 index 0000000000..20337015cc --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/main.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae78b481491fa24dfa9ada77861a2094985f59288e88b8e47513ffb20cafff40 +size 2040 diff --git a/assets/voxygen/voxel/npc/ogre/female/shoulder_l.vox b/assets/voxygen/voxel/npc/ogre/female/shoulder_l.vox new file mode 100644 index 0000000000..54fb38d44a --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/shoulder_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1662f58cc9f7ff0fd88b085713395decb205ba67e1d117e497089fbc140bf283 +size 1624 diff --git a/assets/voxygen/voxel/npc/ogre/female/shoulder_r.vox b/assets/voxygen/voxel/npc/ogre/female/shoulder_r.vox new file mode 100644 index 0000000000..23992b7a31 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/shoulder_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff9ae880bc753cb539691c21cd56f1c06c8fb7a75e58bec386331df29494ca6e +size 1624 diff --git a/assets/voxygen/voxel/npc/ogre/female/torso_lower.vox b/assets/voxygen/voxel/npc/ogre/female/torso_lower.vox new file mode 100644 index 0000000000..83c0ed8b58 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/torso_lower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5fcaf4c2c5c829f2ff3b16fee2fdc7a6a5ffaa6bdec69d361e67d55bea5edab +size 2016 diff --git a/assets/voxygen/voxel/npc/ogre/female/torso_upper.vox b/assets/voxygen/voxel/npc/ogre/female/torso_upper.vox new file mode 100644 index 0000000000..d7acdf6698 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/female/torso_upper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:135fcea17952646e6ed97a43e6e5b8969ceeaea9e83d5306ae529a98ac38a869 +size 4472 diff --git a/assets/voxygen/voxel/npc/ogre/male/club_l.vox b/assets/voxygen/voxel/npc/ogre/male/club_l.vox deleted file mode 100644 index 2625afe818..0000000000 --- a/assets/voxygen/voxel/npc/ogre/male/club_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:012f2dbf03877d2e8b47d770e85aa2d64123c0331dfe6eb6dafc45bcdd355dd6 -size 1784 diff --git a/assets/voxygen/voxel/npc/ogre/male/club_r.vox b/assets/voxygen/voxel/npc/ogre/male/club_r.vox deleted file mode 100644 index 7121264992..0000000000 --- a/assets/voxygen/voxel/npc/ogre/male/club_r.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8cafe8db5ffac25bd08a5b5755b79fc180a6bd0e061b8dd7c788b8c0634814a -size 1784 diff --git a/assets/voxygen/voxel/npc/ogre/male/foot_l.vox b/assets/voxygen/voxel/npc/ogre/male/foot_l.vox index da08707ccf..0b7fc73b7e 100644 --- a/assets/voxygen/voxel/npc/ogre/male/foot_l.vox +++ b/assets/voxygen/voxel/npc/ogre/male/foot_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90c4cefc79271e1b15fa674874109b06ee0379812cdb9a2f2864eab9b13a18d7 -size 1896 +oid sha256:349f6ee9652e94455338a706acdc02b50c50a98e74d488bf28e7313c9aff6016 +size 2308 diff --git a/assets/voxygen/voxel/npc/ogre/male/foot_r.vox b/assets/voxygen/voxel/npc/ogre/male/foot_r.vox index 5733f55e35..0b7fc73b7e 100644 --- a/assets/voxygen/voxel/npc/ogre/male/foot_r.vox +++ b/assets/voxygen/voxel/npc/ogre/male/foot_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1540d676c5a0be0b87079c5b95c9336dbfe938e66062e535437e69cff3669c47 -size 1896 +oid sha256:349f6ee9652e94455338a706acdc02b50c50a98e74d488bf28e7313c9aff6016 +size 2308 diff --git a/assets/voxygen/voxel/npc/ogre/male/hammer.vox b/assets/voxygen/voxel/npc/ogre/male/hammer.vox new file mode 100644 index 0000000000..85765929fc --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/male/hammer.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be6c9fb1cf19d903df0d11db6488a09f9c938c208d69e3e8b905796d833d9155 +size 3200 diff --git a/assets/voxygen/voxel/npc/ogre/male/hand_l.vox b/assets/voxygen/voxel/npc/ogre/male/hand_l.vox index 3209a770c9..df0a280404 100644 --- a/assets/voxygen/voxel/npc/ogre/male/hand_l.vox +++ b/assets/voxygen/voxel/npc/ogre/male/hand_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4d18bfbe4f6fd079d295238bae40a491c9b2c13c7a6d538b4c3adf94b5ce88c -size 1576 +oid sha256:a86f5d5adbb422d08c9e09036e27fbe966565a73b6c65ac7d94e639105fc52f2 +size 3188 diff --git a/assets/voxygen/voxel/npc/ogre/male/hand_r.vox b/assets/voxygen/voxel/npc/ogre/male/hand_r.vox index 7447d81403..52d1de72ad 100644 --- a/assets/voxygen/voxel/npc/ogre/male/hand_r.vox +++ b/assets/voxygen/voxel/npc/ogre/male/hand_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5492321b3af03ffc78f162a0f40e7fa1e1fb6f7285327ca47af043b3c43d63ac -size 1576 +oid sha256:00852e1a64801ede4bc3d605eddfda9231c3fd54e51d55b550863915d166e570 +size 3252 diff --git a/assets/voxygen/voxel/npc/ogre/male/head.vox b/assets/voxygen/voxel/npc/ogre/male/head.vox index 16b13831b3..fac22a300e 100644 --- a/assets/voxygen/voxel/npc/ogre/male/head.vox +++ b/assets/voxygen/voxel/npc/ogre/male/head.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e59c212b0bff023df92390c2fef0051bc99c8efd3a3397c8851d219e1dd3122 -size 4472 +oid sha256:bfb027ac19b3f6116c5322ba1a274b659a6afe7b46d56eff2fd522b81dd99e3e +size 4992 diff --git a/assets/voxygen/voxel/npc/ogre/male/leg_l.vox b/assets/voxygen/voxel/npc/ogre/male/leg_l.vox index 250ae798fb..865c924aa7 100644 --- a/assets/voxygen/voxel/npc/ogre/male/leg_l.vox +++ b/assets/voxygen/voxel/npc/ogre/male/leg_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfb9da63ede02f3d4cac323d7152d7764b3144e517cfc46fe1ceb1f9accf0378 -size 1704 +oid sha256:499d54948329e7c37725b7cdecb0a437b968cce5b49c17e4ae8404bef4d09c57 +size 2064 diff --git a/assets/voxygen/voxel/npc/ogre/male/leg_r.vox b/assets/voxygen/voxel/npc/ogre/male/leg_r.vox index c2ac8a3699..287dc1fd7b 100644 --- a/assets/voxygen/voxel/npc/ogre/male/leg_r.vox +++ b/assets/voxygen/voxel/npc/ogre/male/leg_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:817b57a4b69c99e8c34c908a33d8436867a1563e25d2b632b6519b15c3b72512 -size 1704 +oid sha256:e5a61a56afb92762557b025bb980b98389e0e4b97a493462cdc435ce3ce9b15e +size 2064 diff --git a/assets/voxygen/voxel/npc/ogre/male/main.vox b/assets/voxygen/voxel/npc/ogre/male/main.vox new file mode 100644 index 0000000000..dcdd16c077 --- /dev/null +++ b/assets/voxygen/voxel/npc/ogre/male/main.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88fbeca98d929e2dd9cc4034412450a4a49d5d1ddf6df7dea9ad5152f83f0477 +size 3200 diff --git a/assets/voxygen/voxel/npc/ogre/male/shoulder_l.vox b/assets/voxygen/voxel/npc/ogre/male/shoulder_l.vox index c6c10387c2..1925c38679 100644 --- a/assets/voxygen/voxel/npc/ogre/male/shoulder_l.vox +++ b/assets/voxygen/voxel/npc/ogre/male/shoulder_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e6d1e8d1801eecec486a67b32ab51c3ddd5bb49562166eb98f4fb49297caa37 -size 1880 +oid sha256:36eeb839cc6c72112769637c716d145c97f5814907e74364494c90835686b744 +size 2252 diff --git a/assets/voxygen/voxel/npc/ogre/male/shoulder_r.vox b/assets/voxygen/voxel/npc/ogre/male/shoulder_r.vox index 3997e1b2e9..60df0b0c7f 100644 --- a/assets/voxygen/voxel/npc/ogre/male/shoulder_r.vox +++ b/assets/voxygen/voxel/npc/ogre/male/shoulder_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d6717202102e9e0379d652faa110e9211238e16ffe885f5a0b6c9d37f3a3debb -size 1880 +oid sha256:2360896735c592695eb3747ff0477e77d462f17aa5de334f1c472b824defe257 +size 3260 diff --git a/assets/voxygen/voxel/npc/ogre/male/torso_lower.vox b/assets/voxygen/voxel/npc/ogre/male/torso_lower.vox index bfbc82b50b..428f2b6d39 100644 --- a/assets/voxygen/voxel/npc/ogre/male/torso_lower.vox +++ b/assets/voxygen/voxel/npc/ogre/male/torso_lower.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b4b9201910750c3d04924faaaaf34e6bb7283d33f6fb6208a9696d767f01ed7 -size 2172 +oid sha256:0b7af777775352add9648076f186133e29e2d4f969e350c272a01b1723369cb0 +size 2748 diff --git a/assets/voxygen/voxel/npc/ogre/male/torso_upper.vox b/assets/voxygen/voxel/npc/ogre/male/torso_upper.vox index 4e89371ef9..9a3572afa2 100644 --- a/assets/voxygen/voxel/npc/ogre/male/torso_upper.vox +++ b/assets/voxygen/voxel/npc/ogre/male/torso_upper.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ff94ce3fb17681a3943c299bf39bdb0dd9c0f9cdad9421749886b64666acc2c -size 5108 +oid sha256:3b456252d3a1a8c61a6bbe03b977b0980000ccf36767fd3afec9dcbc8ae93433 +size 7284 diff --git a/assets/voxygen/voxel/npc/troll/female/hammer.vox b/assets/voxygen/voxel/npc/troll/female/hammer.vox new file mode 100644 index 0000000000..aeb748af7c --- /dev/null +++ b/assets/voxygen/voxel/npc/troll/female/hammer.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ea1b53cd0b7f7a3c6db30af0880340cac27b34ab4cff58a51c5bae6cc2cc1e7 +size 3524 diff --git a/assets/voxygen/voxel/npc/troll/male/hammer.vox b/assets/voxygen/voxel/npc/troll/male/hammer.vox new file mode 100644 index 0000000000..9a7315e863 --- /dev/null +++ b/assets/voxygen/voxel/npc/troll/male/hammer.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05f0896ab240939bb5a1d89fa0bdbc1e51da5a9a2a2b1c86cc25935ad5aafb8c +size 3112 diff --git a/assets/voxygen/voxel/npc/troll/male/shoulder_r.vox b/assets/voxygen/voxel/npc/troll/male/shoulder_r.vox index 0ae5491411..535dc664ce 100644 --- a/assets/voxygen/voxel/npc/troll/male/shoulder_r.vox +++ b/assets/voxygen/voxel/npc/troll/male/shoulder_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55c200bbadb757e63fb2d09fcacffddf7ce2cbd3309fd732f9091be7db623393 +oid sha256:c111e35534f571b31d72eee59ed8c512c0f9545a55040981f34b473464c51fff size 2964 diff --git a/assets/voxygen/voxel/npc/wendigo/male/hammer.vox b/assets/voxygen/voxel/npc/wendigo/male/hammer.vox new file mode 100644 index 0000000000..9a7315e863 --- /dev/null +++ b/assets/voxygen/voxel/npc/wendigo/male/hammer.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05f0896ab240939bb5a1d89fa0bdbc1e51da5a9a2a2b1c86cc25935ad5aafb8c +size 3112 diff --git a/chat-cli/Cargo.toml b/chat-cli/Cargo.toml index 20acca2c87..462c15feef 100644 --- a/chat-cli/Cargo.toml +++ b/chat-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-chat-cli" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto "] edition = "2018" diff --git a/client/Cargo.toml b/client/Cargo.toml index c817394d33..70733d28dd 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-client" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto "] edition = "2018" diff --git a/common/Cargo.toml b/common/Cargo.toml index cc5c166236..3ff8be44b0 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-common" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto ", "Maciej Ćwięka ", "Imbris "] edition = "2018" diff --git a/server-cli/Cargo.toml b/server-cli/Cargo.toml index 96d761b3e3..93ab4b095b 100644 --- a/server-cli/Cargo.toml +++ b/server-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-server-cli" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto "] edition = "2018" diff --git a/server/Cargo.toml b/server/Cargo.toml index bf13f4f659..e0a6493d08 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-server" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto "] edition = "2018" diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index e5bbae44eb..459cd9657d 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-voxygen" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto ", "Imbris "] edition = "2018" default-run = "veloren-voxygen" diff --git a/voxygen/src/anim/Cargo.toml b/voxygen/src/anim/Cargo.toml index 221cb791ec..45b293d874 100644 --- a/voxygen/src/anim/Cargo.toml +++ b/voxygen/src/anim/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-voxygen-anim" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto ", "Imbris "] edition = "2018" @@ -8,7 +8,7 @@ edition = "2018" name = "voxygen_anim" # Uncomment to use animation hot reloading # Note: this breaks `cargo test` -#crate-type = ["lib", "cdylib"] +# crate-type = ["lib", "cdylib"] [features] use-dyn-lib = ["libloading", "notify", "lazy_static", "tracing", "find_folder"] diff --git a/voxygen/src/anim/src/biped_large/alpha.rs b/voxygen/src/anim/src/biped_large/alpha.rs new file mode 100644 index 0000000000..7ed3c6fe8c --- /dev/null +++ b/voxygen/src/anim/src/biped_large/alpha.rs @@ -0,0 +1,217 @@ +use super::{ + super::{vek::*, Animation}, + BipedLargeSkeleton, SkeletonAttr, +}; +use std::f32::consts::PI; + +pub struct AlphaAnimation; + +impl Animation for AlphaAnimation { + type Dependency = (f32, f64); + type Skeleton = BipedLargeSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"biped_large_alpha\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_alpha")] + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + (velocity, _global_time): Self::Dependency, + anim_time: f64, + _rate: &mut f32, + skeleton_attr: &SkeletonAttr, + ) -> Self::Skeleton { + let mut next = (*skeleton).clone(); + + let lab = 0.55; + + let slower = (((1.0) + / (0.05 + + 0.95 + * ((anim_time as f32 * lab as f32 * 10.0 - 0.8 * PI).sin()).powf(2.0 as f32))) + .sqrt()) + * ((anim_time as f32 * lab as f32 * 10.0 - 0.8 * PI).sin()); + + let slowersmooth = (anim_time as f32 * lab as f32 * 4.0).sin(); + + let foothoril = (((1.0) + / (0.4 + + (0.6) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()).powf(2.0 as f32))) + .sqrt()) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()); + let foothorir = (((1.0) + / (0.4 + + (0.6) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powf(2.0 as f32))) + .sqrt()) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); + + let footrotl = (((5.0) + / (2.5 + + (2.5) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()).powf(2.0 as f32))) + .sqrt()) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()); + + let footrotr = (((5.0) + / (1.0 + + (4.0) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powf(2.0 as f32))) + .sqrt()) + * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); + + let short = (anim_time as f32 * lab as f32 * 16.0).sin(); + + next.head.position = Vec3::new(0.0, skeleton_attr.head.0, skeleton_attr.head.1) * 1.02; + next.head.orientation = Quaternion::rotation_z(slower * 1.0) * Quaternion::rotation_x(0.0); + next.head.scale = Vec3::one() * 1.02; + + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0) + * Quaternion::rotation_y(-1.57) + * Quaternion::rotation_z(1.0); + next.main.scale = Vec3::one() * 1.02; + + next.second.position = Vec3::new(0.0, 0.0, 0.0); + next.second.orientation = + Quaternion::rotation_x(PI) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); + next.second.scale = Vec3::one() * 0.0; + + next.hand_l.position = Vec3::new( + -skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_l.scale = Vec3::one() * 1.02; + + next.hand_r.position = Vec3::new( + skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + + next.upper_torso.position = Vec3::new( + 0.0, + skeleton_attr.upper_torso.0, + skeleton_attr.upper_torso.1, + ); + next.upper_torso.orientation = + Quaternion::rotation_z(slower * -1.2) * Quaternion::rotation_x(-0.3); + next.upper_torso.scale = Vec3::one(); + + next.control.position = Vec3::new(7.0, 9.0, -10.0); + next.control.orientation = Quaternion::rotation_x(slowersmooth * 0.35) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(slowersmooth * -0.5 + slower * -0.5); + next.control.scale = Vec3::one(); + if velocity < 0.5 { + next.lower_torso.position = Vec3::new( + 0.0, + skeleton_attr.lower_torso.0, + skeleton_attr.lower_torso.1, + ); + next.lower_torso.orientation = + Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.2); + next.lower_torso.scale = Vec3::one() * 1.02; + + next.jaw.position = Vec3::new(0.0, skeleton_attr.jaw.0, skeleton_attr.jaw.1 * 0.0); + next.jaw.orientation = Quaternion::rotation_z(0.0); + next.jaw.scale = Vec3::one(); + + next.tail.position = Vec3::new(0.0, skeleton_attr.tail.0, skeleton_attr.tail.1); + next.tail.orientation = Quaternion::rotation_z(0.0); + next.tail.scale = Vec3::one(); + + next.shoulder_l.position = Vec3::new( + -skeleton_attr.shoulder.0, + skeleton_attr.shoulder.1, + skeleton_attr.shoulder.2, + ); + next.shoulder_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.shoulder_l.scale = Vec3::one(); + + next.shoulder_r.position = Vec3::new( + skeleton_attr.shoulder.0, + skeleton_attr.shoulder.1, + skeleton_attr.shoulder.2, + ); + next.shoulder_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.shoulder_r.scale = Vec3::one(); + + next.leg_l.position = Vec3::new( + -skeleton_attr.leg.0, + skeleton_attr.leg.1, + skeleton_attr.leg.2, + ) * 1.02; + next.leg_l.orientation = Quaternion::rotation_z(0.0); + next.leg_l.scale = Vec3::one() * 1.02; + + next.leg_r.position = Vec3::new( + skeleton_attr.leg.0, + skeleton_attr.leg.1, + skeleton_attr.leg.2, + ) * 1.02; + next.leg_r.orientation = Quaternion::rotation_z(0.0); + next.leg_r.scale = Vec3::one() * 1.02; + + next.foot_l.position = Vec3::new( + -skeleton_attr.foot.0, + skeleton_attr.foot.1, + skeleton_attr.foot.2, + ) / 8.0; + next.foot_l.orientation = Quaternion::rotation_z(0.0); + next.foot_l.scale = Vec3::one() / 8.0; + + next.foot_r.position = Vec3::new( + skeleton_attr.foot.0, + skeleton_attr.foot.1, + skeleton_attr.foot.2, + ) / 8.0; + next.foot_r.orientation = Quaternion::rotation_z(0.0); + next.foot_r.scale = Vec3::one() / 8.0; + + next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; + next.torso.orientation = Quaternion::rotation_z(0.0); + next.torso.scale = Vec3::one() / 8.0; + } else { + next.lower_torso.position = Vec3::new( + 0.0, + skeleton_attr.lower_torso.0, + skeleton_attr.lower_torso.1, + ); + next.lower_torso.orientation = + Quaternion::rotation_z(short * 0.15) * Quaternion::rotation_x(0.14); + next.lower_torso.scale = Vec3::one() * 1.02; + + next.shoulder_l.position = Vec3::new( + -skeleton_attr.shoulder.0, + skeleton_attr.shoulder.1 + foothoril * -1.0, + skeleton_attr.shoulder.2, + ); + next.shoulder_l.orientation = Quaternion::rotation_x(0.5 + footrotl * -0.16) + * Quaternion::rotation_y(0.1) + * Quaternion::rotation_z(footrotl * 0.1); + next.shoulder_l.scale = Vec3::one(); + + next.shoulder_r.position = Vec3::new( + skeleton_attr.shoulder.0, + skeleton_attr.shoulder.1 + foothorir * -1.0, + skeleton_attr.shoulder.2, + ); + next.shoulder_r.orientation = Quaternion::rotation_x(0.5 + footrotr * -0.16) + * Quaternion::rotation_y(-0.1) + * Quaternion::rotation_z(footrotr * -0.1); + next.shoulder_r.scale = Vec3::one(); + + next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; + next.torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.25); + next.torso.scale = Vec3::one() / 8.0; + } + + next + } +} diff --git a/voxygen/src/anim/src/biped_large/jump.rs b/voxygen/src/anim/src/biped_large/jump.rs index 6c29bc4094..037c2dfbd1 100644 --- a/voxygen/src/anim/src/biped_large/jump.rs +++ b/voxygen/src/anim/src/biped_large/jump.rs @@ -1,11 +1,13 @@ -use super::{super::Animation, BipedLargeSkeleton, SkeletonAttr}; -//use std::f32::consts::PI; -use super::super::vek::*; +use super::{ + super::{vek::*, Animation}, + BipedLargeSkeleton, SkeletonAttr, +}; +use std::f32::consts::PI; pub struct JumpAnimation; impl Animation for JumpAnimation { - type Dependency = (f32, f64); + type Dependency = f64; type Skeleton = BipedLargeSkeleton; #[cfg(feature = "use-dyn-lib")] @@ -15,46 +17,73 @@ impl Animation for JumpAnimation { fn update_skeleton_inner( skeleton: &Self::Skeleton, _global_time: Self::Dependency, - _anim_time: f64, + anim_time: f64, _rate: &mut f32, skeleton_attr: &SkeletonAttr, ) -> Self::Skeleton { let mut next = (*skeleton).clone(); - next.head.position = Vec3::new(0.0, skeleton_attr.head.0, skeleton_attr.head.1) * 1.02; + let lab = 1.0; + let torso = (anim_time as f32 * lab as f32 + 1.5 * PI).sin(); + + let wave_slow = (anim_time as f32 * 0.8).sin(); + + next.head.position = Vec3::new( + 0.0, + skeleton_attr.head.0, + skeleton_attr.head.1 + torso * 0.2, + ) * 1.02; next.head.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); next.head.scale = Vec3::one() * 1.02; next.upper_torso.position = Vec3::new( 0.0, skeleton_attr.upper_torso.0, - skeleton_attr.upper_torso.1, - ) / 8.0; - next.upper_torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); - next.upper_torso.scale = Vec3::one() / 8.0; + skeleton_attr.upper_torso.1 + torso * 0.5, + ); + next.upper_torso.orientation = Quaternion::rotation_x(-0.3); + next.upper_torso.scale = Vec3::one(); next.lower_torso.position = Vec3::new( 0.0, skeleton_attr.lower_torso.0, - skeleton_attr.lower_torso.1, + skeleton_attr.lower_torso.1 + torso * 0.15, ); - next.lower_torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.lower_torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.2); next.lower_torso.scale = Vec3::one() * 1.02; next.jaw.position = Vec3::new(0.0, skeleton_attr.jaw.0, skeleton_attr.jaw.1); - next.jaw.orientation = Quaternion::rotation_z(0.0); + next.jaw.orientation = Quaternion::rotation_x(wave_slow * 0.09); next.jaw.scale = Vec3::one(); - next.tail.position = Vec3::new(0.0, skeleton_attr.tail.0, skeleton_attr.tail.1 * 0.0); + next.tail.position = Vec3::new( + 0.0, + skeleton_attr.tail.0, + skeleton_attr.tail.1 + torso * 0.0, + ); next.tail.orientation = Quaternion::rotation_z(0.0); next.tail.scale = Vec3::one(); + next.control.position = Vec3::new(0.0, 0.0, 0.0); + next.control.orientation = Quaternion::rotation_z(0.0); + next.control.scale = Vec3::one(); + + next.second.position = Vec3::new(0.0, 0.0, 0.0); + next.second.orientation = + Quaternion::rotation_x(PI) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); + next.second.scale = Vec3::one() * 0.0; + + next.main.position = Vec3::new(-5.0, -7.0, 7.0); + next.main.orientation = + Quaternion::rotation_x(PI) * Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57); + next.main.scale = Vec3::one() * 1.02; + next.shoulder_l.position = Vec3::new( -skeleton_attr.shoulder.0, skeleton_attr.shoulder.1, skeleton_attr.shoulder.2, ); - next.shoulder_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.shoulder_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.5); next.shoulder_l.scale = Vec3::one(); next.shoulder_r.position = Vec3::new( @@ -62,60 +91,61 @@ impl Animation for JumpAnimation { skeleton_attr.shoulder.1, skeleton_attr.shoulder.2, ); - next.shoulder_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.shoulder_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.5); next.shoulder_r.scale = Vec3::one(); next.hand_l.position = Vec3::new( -skeleton_attr.hand.0, skeleton_attr.hand.1, - skeleton_attr.hand.2, + skeleton_attr.hand.2 + torso * 0.6, ); - next.hand_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.hand_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.8); next.hand_l.scale = Vec3::one() * 1.02; next.hand_r.position = Vec3::new( skeleton_attr.hand.0, skeleton_attr.hand.1, - skeleton_attr.hand.2, + skeleton_attr.hand.2 + torso * 0.6, ); - next.hand_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.hand_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.8); next.hand_r.scale = Vec3::one() * 1.02; next.leg_l.position = Vec3::new( -skeleton_attr.leg.0, skeleton_attr.leg.1, - skeleton_attr.leg.2, + skeleton_attr.leg.2 + torso * 0.2, ) * 1.02; - next.leg_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.leg_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.4); next.leg_l.scale = Vec3::one() * 1.02; next.leg_r.position = Vec3::new( skeleton_attr.leg.0, skeleton_attr.leg.1, - skeleton_attr.leg.2, + skeleton_attr.leg.2 + torso * 0.2, ) * 1.02; - next.leg_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.leg_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.4); next.leg_r.scale = Vec3::one() * 1.02; next.foot_l.position = Vec3::new( -skeleton_attr.foot.0, - skeleton_attr.foot.1, + -5.0 + skeleton_attr.foot.1, skeleton_attr.foot.2, ) / 8.0; - next.foot_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.foot_l.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.4); next.foot_l.scale = Vec3::one() / 8.0; next.foot_r.position = Vec3::new( skeleton_attr.foot.0, - skeleton_attr.foot.1, + 5.0 + skeleton_attr.foot.1, skeleton_attr.foot.2, ) / 8.0; - next.foot_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + next.foot_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.4); next.foot_r.scale = Vec3::one() / 8.0; - next.torso.position = Vec3::new(0.0, 0.0, 0.0); + next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; next.torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); - next.torso.scale = Vec3::one(); + next.torso.scale = Vec3::one() / 8.0; + next } } diff --git a/voxygen/src/anim/src/biped_large/mod.rs b/voxygen/src/anim/src/biped_large/mod.rs index cb5b346550..e812e0cd8b 100644 --- a/voxygen/src/anim/src/biped_large/mod.rs +++ b/voxygen/src/anim/src/biped_large/mod.rs @@ -1,3 +1,4 @@ +pub mod alpha; pub mod idle; pub mod jump; pub mod run; @@ -5,7 +6,8 @@ pub mod wield; // Reexports pub use self::{ - idle::IdleAnimation, jump::JumpAnimation, run::RunAnimation, wield::WieldAnimation, + alpha::AlphaAnimation, idle::IdleAnimation, jump::JumpAnimation, run::RunAnimation, + wield::WieldAnimation, }; use super::{make_bone, vek::*, Bone, FigureBoneData, Skeleton}; @@ -48,10 +50,10 @@ impl Skeleton for BipedLargeSkeleton { let upper_torso = Mat4::::from(self.upper_torso); let torso_mat = base_mat * Mat4::::from(self.torso); - let control_mat = torso_mat * Mat4::::from(self.control) * upper_torso; let upper_torso_mat = torso_mat * upper_torso; let lower_torso_mat = upper_torso_mat * Mat4::::from(self.lower_torso); let head_mat = upper_torso_mat * Mat4::::from(self.head); + let control_mat = upper_torso_mat * Mat4::::from(self.control); *(<&mut [_; Self::BONE_COUNT]>::try_from(&mut buf[0..Self::BONE_COUNT]).unwrap()) = [ make_bone(head_mat), @@ -115,10 +117,11 @@ impl Default for SkeletonAttr { impl<'a> From<&'a comp::biped_large::Body> for SkeletonAttr { fn from(body: &'a comp::biped_large::Body) -> Self { - use comp::biped_large::Species::*; + use comp::biped_large::{BodyType::*, Species::*}; Self { head: match (body.species, body.body_type) { - (Ogre, _) => (3.0, 6.0), + (Ogre, Male) => (3.0, 9.0), + (Ogre, Female) => (1.0, 7.5), (Cyclops, _) => (4.5, 7.5), (Wendigo, _) => (3.0, 13.5), (Troll, _) => (6.0, 10.0), @@ -132,14 +135,16 @@ impl<'a> From<&'a comp::biped_large::Body> for SkeletonAttr { (Dullahan, _) => (0.0, 0.0), }, upper_torso: match (body.species, body.body_type) { - (Ogre, _) => (0.0, 19.0), + (Ogre, Male) => (0.0, 28.0), + (Ogre, Female) => (0.0, 28.0), (Cyclops, _) => (-2.0, 27.0), (Wendigo, _) => (-1.0, 29.0), (Troll, _) => (-1.0, 27.5), (Dullahan, _) => (0.0, 29.0), }, lower_torso: match (body.species, body.body_type) { - (Ogre, _) => (1.0, -5.5), + (Ogre, Male) => (1.0, -7.0), + (Ogre, Female) => (0.0, -6.0), (Cyclops, _) => (1.0, -4.5), (Wendigo, _) => (-1.5, -6.0), (Troll, _) => (1.0, -10.5), @@ -153,28 +158,32 @@ impl<'a> From<&'a comp::biped_large::Body> for SkeletonAttr { (Dullahan, _) => (0.0, 0.0), }, shoulder: match (body.species, body.body_type) { - (Ogre, _) => (6.1, 0.5, 2.5), + (Ogre, Male) => (12.0, 0.5, 0.0), + (Ogre, Female) => (8.0, 0.5, -1.0), (Cyclops, _) => (9.5, 2.5, 2.5), (Wendigo, _) => (9.0, 0.5, -0.5), (Troll, _) => (11.0, 0.5, -1.5), (Dullahan, _) => (14.0, 0.5, 4.5), }, hand: match (body.species, body.body_type) { - (Ogre, _) => (10.5, -1.0, -0.5), + (Ogre, Male) => (14.5, 0.0, -2.0), + (Ogre, Female) => (9.0, 0.5, -4.5), (Cyclops, _) => (10.0, 2.0, -0.5), (Wendigo, _) => (12.0, 0.0, -0.5), (Troll, _) => (11.5, 0.0, -1.5), (Dullahan, _) => (14.5, 0.0, -2.5), }, leg: match (body.species, body.body_type) { - (Ogre, _) => (0.0, 0.0, 0.0), + (Ogre, Male) => (0.0, 0.0, -4.0), + (Ogre, Female) => (0.0, 0.0, -2.0), (Cyclops, _) => (0.0, 0.0, -5.0), (Wendigo, _) => (2.0, 2.0, -2.5), (Troll, _) => (5.0, 0.0, -6.0), (Dullahan, _) => (0.0, 0.0, -5.0), }, foot: match (body.species, body.body_type) { - (Ogre, _) => (4.0, 2.5, 2.5), + (Ogre, Male) => (4.0, 2.5, 8.0), + (Ogre, Female) => (4.0, 0.5, 8.0), (Cyclops, _) => (4.0, 0.5, 5.0), (Wendigo, _) => (5.0, 0.5, 6.0), (Troll, _) => (6.0, 0.5, 4.0), diff --git a/voxygen/src/anim/src/biped_large/wield.rs b/voxygen/src/anim/src/biped_large/wield.rs index 0b9813aade..b26a8322cb 100644 --- a/voxygen/src/anim/src/biped_large/wield.rs +++ b/voxygen/src/anim/src/biped_large/wield.rs @@ -52,8 +52,6 @@ impl Animation for WieldAnimation { * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powf(2.0 as f32))) .sqrt()) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); - let footvertl = (anim_time as f32 * 16.0 * lab as f32).sin(); - let footvertr = (anim_time as f32 * 16.0 * lab as f32 + PI).sin(); let footrotl = (((5.0) / (2.5 @@ -236,43 +234,6 @@ impl Animation for WieldAnimation { * Quaternion::rotation_z(footrotr * -0.1); next.shoulder_r.scale = Vec3::one(); - next.leg_l.position = Vec3::new( - -skeleton_attr.leg.0, - skeleton_attr.leg.1, - skeleton_attr.leg.2, - ) * 0.98; - next.leg_l.orientation = - Quaternion::rotation_z(short * 0.18) * Quaternion::rotation_x(foothoril * 0.3); - next.leg_l.scale = Vec3::one() * 0.98; - - next.leg_r.position = Vec3::new( - skeleton_attr.leg.0, - skeleton_attr.leg.1, - skeleton_attr.leg.2, - ) * 0.98; - - next.leg_r.orientation = - Quaternion::rotation_z(short * 0.18) * Quaternion::rotation_x(foothorir * 0.3); - next.leg_r.scale = Vec3::one() * 0.98; - - next.foot_l.position = Vec3::new( - -skeleton_attr.foot.0, - 4.0 + skeleton_attr.foot.1 + foothoril * 8.5, - skeleton_attr.foot.2 + ((footvertl * 6.5).max(0.0)), - ) / 8.0; - next.foot_l.orientation = - Quaternion::rotation_x(-0.5 + footrotl * 0.85) * Quaternion::rotation_y(0.0); - next.foot_l.scale = Vec3::one() / 8.0; - - next.foot_r.position = Vec3::new( - skeleton_attr.foot.0, - 4.0 + skeleton_attr.foot.1 + foothorir * 8.5, - skeleton_attr.foot.2 + ((footvertr * 6.5).max(0.0)), - ) / 8.0; - next.foot_r.orientation = - Quaternion::rotation_x(-0.5 + footrotr * 0.85) * Quaternion::rotation_y(0.0); - next.foot_r.scale = Vec3::one() / 8.0; - next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; next.torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.25); next.torso.scale = Vec3::one() / 8.0; diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index 8294a2ca5a..ba2b061ed8 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -1921,7 +1921,7 @@ impl FigureMgr { // In air (false, _, false) => anim::biped_large::JumpAnimation::update_skeleton( &BipedLargeSkeleton::default(), - (vel.0.magnitude(), time), + time, state.state_time, &mut state_animation_rate, skeleton_attr, @@ -1944,6 +1944,15 @@ impl FigureMgr { skeleton_attr, ) }, + CharacterState::BasicMelee(_) => { + anim::biped_large::AlphaAnimation::update_skeleton( + &target_base, + (vel.0.magnitude(), time), + state.state_time, + &mut state_animation_rate, + skeleton_attr, + ) + }, // TODO! _ => target_base, }; diff --git a/world/Cargo.toml b/world/Cargo.toml index 3adf6b58c8..663b852d91 100644 --- a/world/Cargo.toml +++ b/world/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-world" -version = "0.6.0" +version = "0.7.0" authors = ["Joshua Barretto "] edition = "2018"